大家。
我有一个小问题;我正在尝试构建所见即所得,但遇到了一些问题。
我有一个 id = desc2 的 contenteditable div 和一些按钮。让我们以“粗体”按钮为例。
<div class="magic" magic_id="desc2">
<div class="magicbutton one" magic="[b]%s[/b]">
<span style="font-weight:bold;">Bold</span>
</div>
</div>
我有一些 jQuery++ 选择应用程序:
$('#desc2').on('mouseup', function() {
var selection = $(this).selection(),
text = $(this).text().substring(selection.start, selection.end);
console.log(text);
});
我已经删除了脚本的另一部分,因为如果我设法让它工作,我就完成了:D
所以,正如我所说,如果我这样做,一切都很好:我在 div 和在控制台上输出内容。但这不是我想做的。我写了这个:
$('.magicbutton.uno').on('click', function(){
var id = $(this).parent().attr("magic_id");
var selection = $("#"+id).selection(),
text = $("#"+id).text().substring(selection.start, selection.end);
console.log(text);
});
每次单击时,都会更改 div 的 ID,并且应该输出选定的文本,但事实并非如此。
代码是一样的,我检查$(this)
了第一个脚本和第二个脚本是一样$("#"+id)
的。
我能做些什么?谢谢!
编辑:jsFiddle