4

Kendo UI Editor コントロールを使用しています。新しいウィンドウに開くリンク (つまり、target="_blank") のみを挿入するにはどうすればよいですか?

これは、Razor ではなく、JavaScript で行う必要があります。実行イベントと選択イベントで取得しようとしましたが、これまでのところどちらも機能していません。

4

2 に答える 2

1

これを行うには、次の 2 つの方法があります。

  1. [リンクの挿入] ダイアログの [リンクを新しいウィンドウで開く] チェックボックスを自動的にオンにします。実装例を次に示します: http://jsbin.com/ekibud/1/edit。アイデアはexecute、エディターのイベントをサブスクライブし、コマンドが「createlink」の場合はチェックボックスをオンにすることです。必要なコードは次のとおりです。

    $("#editor").kendoEditor({
       execute: function(e) {
          if (e.name == "createlink") {
            setTimeout(function() {
              $("#k-editor-link-target").attr("checked", true);
            });
          }
       }
    });
    
  2. エディター コンテンツ内のすべてのリンクを検索し、それらの target 属性を設定します。これは、JavaScript と正規表現の置換を介して行うことができます。

    var editor = $("#editor").data("kendoEditor");
    
    var html = editor.value();
    
    // remove all existing target attributes
    
    html = html.replace(/<a[^>]*/, function(a) {
      // first remove existing target attribute
      a = a.replace(/target\s*=\s*['"][^"']*['"]/, '');
    
      // then add a target attribute
      a += ' target="_blank"';
    
      return a;
    });
    // Use the updated html
    
于 2013-02-08T08:26:54.270 に答える