選択したテキストをスパン クラスに囲むボタンを追加して、Aloha でカスタム アクションを設定しようとしています。
例 : 「例文」を選択しました
そしてそれはそれを
<span>example word</span>
私の問題は、選択したテキストを Aloha から取得できず、再挿入できないことです。
ドキュメントから、これらの行は何も返さない:
var range;
if ( Aloha.getSelection().rangeCount > 0 ) {
range = Aloha.getSelection().getRangeAt( 0 );
}
完全なコード:
var redHighlight = "";
Aloha.require(['ui/ui', 'ui/button'], function(Ui, Button) {
var redButton = Ui.adopt("redButton", Button, {
tooltip: 'Label',//gives inner text
click: function(){
var range;
if ( Aloha.getSelection().rangeCount > 0 ) {
range = Aloha.getSelection().getRangeAt( 0 );
}
console.log(range); //returns nothing
}
});
});
Aloha.settings.toolbar = {
tabs: [
{
label: 'Urgent',
components: [ 'redButton' ],
}
],
exclude: [ 'strong', 'emphasis', 'strikethrough' ]
};
編集 1: 私はこの質問でアロハ フォーラムに行きました。mod から、出力内に html を再挿入すると DOM の問題が発生する可能性があることがわかったのですが、範囲関数が Google Chrome と互換性がないことを最初にドキュメントから見逃していました。 m は on/for で開発中です。
それでも解決策に興味があります:)
前もって感謝します、