我正在尝试在 Aloha 中设置一个自定义操作,添加一个按钮,将选定的文本包含在一个 span 类中。
示例:您选择了“示例词”
它会改变它
<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: 我带着这个问题进入了 Aloha 论坛,从 mod 我得到在输出中重新插入 html 可能会导致一些 DOM 问题,我首先从文档中错过了范围函数与我的谷歌 Chrome 不兼容的问题m 正在/为。
不过仍然对解决方案感兴趣:)
提前致谢,