Events 通过jQuery在IE10上使用live event的奇怪行为

Events 通过jQuery在IE10上使用live event的奇怪行为,events,jquery,live,Events,Jquery,Live,我有以下代码: $('input.test2').live('keyup', function (e) { }); $('input.test1').live('change', function (e) { }); test1和test2是同一输入元素的类。。但只有test1被触发 谁能给我解释一下为什么会这样?(这只发生在IE10上)。 我试图返回false或e.stopPropagation(),但没有任何更改。尝试使用“on”而不是“live” 根据jQuery文档: “从jQue

我有以下代码:

$('input.test2').live('keyup', function (e) {
});

$('input.test1').live('change', function (e) {
});
test1和test2是同一输入元素的类。。但只有test1被触发

谁能给我解释一下为什么会这样?(这只发生在IE10上)。 我试图返回false或e.stopPropagation(),但没有任何更改。

尝试使用“on”而不是“live”

根据jQuery文档:


“从jQuery 1.7开始,.live()方法已被弃用。请使用.on()附加事件处理程序。较旧版本的jQuery用户应优先使用.delegate(),而不是.live()。”

但是发生了什么事?“有人能解释一下为什么会发生这种情况吗?”。。为什么会发生什么?为什么第二个没有被触发。。。如果我将“更改”更改为“单击”,效果很好:上的
的语法与
live
的语法完全不同,因此不能只替换方法名。您已将委托替换为常规绑定,因此如果绑定时元素不存在,则将永远不会处理事件。
$('input.test1').on('change', function (e) {
});

$('input.test2').on('keyup', function (e) {
});