Kendo UI Editor コントロールを使用しています。新しいウィンドウに開くリンク (つまり、target="_blank") のみを挿入するにはどうすればよいですか?
これは、Razor ではなく、JavaScript で行う必要があります。実行イベントと選択イベントで取得しようとしましたが、これまでのところどちらも機能していません。
Kendo UI Editor コントロールを使用しています。新しいウィンドウに開くリンク (つまり、target="_blank") のみを挿入するにはどうすればよいですか?
これは、Razor ではなく、JavaScript で行う必要があります。実行イベントと選択イベントで取得しようとしましたが、これまでのところどちらも機能していません。
これを行うには、次の 2 つの方法があります。
[リンクの挿入] ダイアログの [リンクを新しいウィンドウで開く] チェックボックスを自動的にオンにします。実装例を次に示します: 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);
});
}
}
});
エディター コンテンツ内のすべてのリンクを検索し、それらの 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