3

我有以下 div:

<div contenteditable="true" unselectable="off" id="foo">

在这个 div 中,我想让特定数量的单词在用户每次输入时看起来都是粗体的。因此,我有以下更改监听器:

$('#foo').live('focus', function() {
   before = $(this).html();
}).live('blur keyup paste', function() { 
   if (before != $(this).html()) { $(this).trigger('change'); }
});

$('#foo').live('change', function() {
   // make certain words bold
   document.execCommand ('bold', false, null); // doesn't work
});

我尝试使用document.execCommand()但它仅在我选择要加粗的文本时才有效。但我不想选择文本,因为用户不知道应该加粗的单词。

4

1 回答 1

1

如果不先选择它,您不能使用 execCommand 来加粗文本。

我不明白您到底在做什么,但是如果您知道要加粗的单词,只需<strong>your word</strong>在编辑器 html 中使用 js 替换它们即可。

于 2012-11-15T21:01:06.693 回答