jQuery:观察节点值的变化
我想观察使用 contenteditable 编辑的元素的 nodeValue 变化。基本上,我想在节点值更改时运行一个函数。
我找到了这个帖子: http://james.padolsey.com/javascript/monitoring-dom-properties/< /a>
这似乎有一个我想要的插件。
这是监视插件:
jQuery.fn.watch = function( id, fn ) {
return this.each(function(){
var self = this;
var oldVal = self[id];
$(self).data(
'watch_timer',
setInterval(function(){
if (self[id] !== oldVal) {
fn.call(self, id, oldVal, self[id]);
oldVal = self[id];
}
}, 100)
);
});
return self;
};
作为示例,我可以像这样监视输入的值:
$('#input').watch('value', function(propName, oldVal, newVal){
$("#text").text(newVal);
});
但不能监视 contenteditable 的节点值(其文本内容):
$('#ce').watch('nodeValue', function(propName, oldVal, newVal){
$("#text").text(newVal);
});
这是实时示例:
任何人都知道如何调整 watch 方法以与 nodevalue 一起使用。谢谢!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这不是更简单吗?
至于输入:
Isn't this simpler?
As for the input: