我有以下div:
<div contenteditable="true" unselectable="off" id="foo">
在这个div里面,我希望每次用户输入时都会使特定数量的单词看起来是粗体。因此,我有以下changelistener:
$('#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(),但只有当我选择要制作粗体的文字时,它才有效。但我不想选择文字,因为用户不知道应该粗体的单词。
答案 0 :(得分:1)
如果不首先选择execCommand,则不能使用execCommand粗体显示文本。
我不明白你在做什么,但如果你知道你想要加粗的单词,只需用编辑器html中的<strong>your word</strong>
替换它们,使用js。