如果在此处有此代码:
$(function() {
$("#a").keyup(function(e) {
var updatedText = this.value.replace(
/(^|[^>])(hello)($|[^<])/gi, "$1<b>$2</b>$3");
if (updatedText != this.value)
this.value = updatedText;
});
});
它的作用是取出与RegExp匹配的最后一个单词(在本例中为单词hello),并在其周围添加<b>
个标签。这在Textarea中非常有用(演示在这里:http://jsbin.com/ibecel/2/edit
但我似乎无法将其修改为在一个令人满意的div中工作。我怎么需要修改它才能在一个可信的div中工作?我尝试将value
对象更改为innerHTML
和innerText
,但无济于事。它在输入单词后总是失去焦点,或者不会退出所做的新事物。请帮助
答案 0 :(得分:0)
我制作了这个修改过的版本:http://jsbin.com/amazaq/2/edit - innerHTML就是你所需要的。
但是光标位置有问题。这是一个更难的问题 - 看看Set cursor position on contentEditable <div>