Javascript 又是所见即所得

Javascript 又是所见即所得,javascript,jquery,wysiwyg,execcommand,Javascript,Jquery,Wysiwyg,Execcommand,我在js/jquery中编写了最简单的所见即所得: 在newset Opera 11、Chrome 16、Firefox 9和Safari 5.1上可以完美地工作(例如,设置为粗体书写或在选定文本上设置为粗体),但在IE9中,我无法将粗体设置为选定文本,并且总是在使用粗体按钮时,此卡雷特转到第一行到第一个字母 为什么?这是因为在IE中触发单击事件之前,选择已被销毁。您可以使用鼠标向下事件来解决此问题,或者(更好)使按钮文本不可选择: $('<li class="wysiwyg-bold"&

我在js/jquery中编写了最简单的所见即所得:

在newset Opera 11、Chrome 16、Firefox 9和Safari 5.1上可以完美地工作(例如,设置为粗体书写或在选定文本上设置为粗体),但在IE9中,我无法将粗体设置为选定文本,并且总是在使用粗体按钮时,此卡雷特转到第一行到第一个字母


为什么?

这是因为在IE中触发
单击事件之前,选择已被销毁。您可以使用
鼠标向下
事件来解决此问题,或者(更好)使按钮文本不可选择:

$('<li class="wysiwyg-bold"><b unselectable="on">textBold</b></li>')
    .appendTo('.wysiwyg-toolbar');
$('
  • textBold
  • ) .appendTo(“.wysiwyg工具栏”);

    现场演示:

    非常感谢!使用不可选择的属性很好,但我尝试删除此属性,然后用“鼠标向下”替换“单击”,并且只对选定的文本有效,而不使用粗体,为什么?()@kicaj:因为它仍然失去了选择权,所以它只是先得到了粗体字。