我正在编写一个chrome插件,它利用一个网站(我自己也在写)与用户进行互动。
插件中的内容脚本使用jQueries .val()
方法更改网站中的某些字段值。
网站需要能够通过自己的javascript检测到此类更改,以便相应地更新其他内容。
但是,值更改does not fire a onchange event并且由于网站js和内容脚本是独立的,当从内容脚本中的代码触发事件时,网站jQuery中的element.change()
函数不会做出反应。
让网站js检测到该字段值的变化的最佳方法是什么?
PS:如果你认为这是设计问题(扩展和网站之间的通信与显示功能混合),我也会对你的建议感兴趣。
答案 0 :(得分:0)
这就是我最终解决的问题:
inputChanged = function(inputElement,callback){
oldInput = inputElement.val();
setInterval(function(){
if (oldInput!=inputElement.val()){
oldInput = inputElement.val();
callback();
}
},200);
}
它不优雅,但它有效。