我正在使用jQuery 1.4.0。
我正在尝试使用实时函数将绑定更改事件绑定到我的输入,但它不适用于IE7& 8(在IE9,10上,Firefox可以工作)。
$("input:text").live("change", function(e) {
alert("works!");
});
问候。
答案 0 :(得分:1)
您只需更新更改事件的焦点过滤器,以匹配修复此问题的1.4.1中更新的内容。只要在用户更改输入之前和包含jquery核心之后,您就可以在代码中的任何位置包含它。
function testChange(e) {
var elem = e.target,
data, val;
if (!formElems.test(elem.nodeName) || elem.readOnly) {
return;
}
data = jQuery.data(elem, "_change_data");
val = getVal(elem);
if (val === data) {
return;
}
// the current data will be also retrieved by beforeactivate
if (e.type !== "focusout" || elem.type !== "radio") {
jQuery.data(elem, "_change_data", val);
}
if (data != null || val) {
e.type = "change";
return jQuery.event.trigger(e, arguments[1], elem);
}
}
jQuery.event.special.change.filters.focusout = testChange;
提交:https://github.com/jquery/jquery/commit/435772e29b4ac4ccfdefbc4045d43f714e153381