有没有办法更新dom而不影响鼠标光标?
问题描述:
例如,我使用下列的函数:有没有办法更新dom而不影响鼠标光标?
$('body').html(function(i,html) {
var arr = html.split(". ");
arr[arr.length-1]="<span class='findme' >"+arr[arr.length-1]+"</span> ";
alert(arr)
return arr.join(". ");
});
问题是,它从用户打字移动光标离开。有没有人看过这个?
答
通过设置任何元素的HTML,你基本上重置了它的所有内容!所有事件处理程序,所有状态和DOM属性,这包括当前具有“焦点”的任何元素。
按照预期使用DOM API。
它看起来像你想要在页面中的最后一个段落后跟一个<span>
包装内容。为了正确执行此操作,您需要遍历DOM检查包含句点的文本节点,然后用<span>
元素替换上次找到的文本节点的一部分。
+1。 J-P是绝对正确的:你必须处理文本节点而不是HTML字符串。 – 2010-07-20 08:25:09
有趣的是,你能提供一个处理文本节点的例子吗? – WozPoz 2010-07-20 14:25:44
还会用文本节点不会影响鼠标吗? – WozPoz 2010-07-20 14:26:26