我正在写一个chrome插件,它利用一个网站(我自己也在写)来与用户交互。
插件中的内容脚本使用jQueries .val()方法更改网站中的某些字段值。
网站需要能够通过自己的javascript检测到这样的变化,以便相应地更新其他内容。
然而,值改变does not fire a onchange event,并且由于网站js和内容脚本是独立的,当从内容脚本中的代码触发事件时,网站jQuery中的element.change()函数不会做出反应。
让网站js检测到字段值变化的最好方法是什么?
PS:如果你认为这是一个设计问题(扩展和网站之间的通信与显示功能混合),我也会对你的建议感兴趣。
发布于 2013-09-13 12:43:11
这是我最终解决这个问题的方法:
inputChanged = function(inputElement,callback){
oldInput = inputElement.val();
setInterval(function(){
if (oldInput!=inputElement.val()){
oldInput = inputElement.val();
callback();
}
},200);}
它不是很优雅,但它是有效的。
https://stackoverflow.com/questions/18776558
复制相似问题