在jQuery中,$.bind("propertychange", callback)
在Firefox中不可用,我该如何解决?
最终,我用它来实现:
if ($.browser.msie) {
$this.unbind("propertychange").bind("propertychange", function(e) {
e.preventDefault();
bindTrigger();
});
}
else {
document.getElementById(_acBoxCtrlID).addEventListener("input", bindTrigger, false);
}
答案 0 :(得分:10)
onpropertychange
是Microsoft针对Internet Explorer实施的专有事件。其他浏览器不支持它。
最接近的对等值为DOMAttrModified
,但这似乎仅在修改属性时触发(例如,通过.setAttribute("value", "string")
),而不是属性(例如.value = "string"
)。
onchange
可用于输入元素,但仅在该元素失去焦点时才会触发。除此之外,您的另一种选择是使用耗费资源的计时器来不断检查更改。
答案 1 :(得分:6)
您必须使用$(#inputEvent).bind("input", function(){ // your code });
答案 2 :(得分:1)
你能不能只使用.change()?
http://api.jquery.com/change/
你到底想要做什么?