我有几个在 ajax 调用后动态添加的文本框。这些框通过 .live() 绑定(bind)到事件处理程序,目前工作正常。我想用更新的 .on() 函数替换它。
这就是我所拥有的
$('.MyTextBox').live({
mouseenter: function () { .... },
mouseleave: function () { .... },
blur: function () { ... }
});
当我用 .on() 替换 .live() 时,它不起作用;添加后,文本框不会显示其正常行为。
如果我编写 $('#MainDiv .MyTextBox').live({...
,其中 MainDiv 是发生所有操作的顶部 DOM 元素,则也不会发生任何事情。
我错过了什么?
谢谢
最佳答案
这是他们的示例,但带有委托(delegate):
与非委托(delegate): http://jsfiddle.net/HDtz3/1/
这就是为什么我讨厌新的 on 语法。
在你的中只需这样做:
$('#MainDiv').on({
mouseenter: function () { .... },
mouseleave: function () { .... },
blur: function () { ... }
}, '.MyTextBox');
它应该可以工作
关于jquery - 用 jquery.on() 替换 jquery.live() 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8161691/