我刚刚注意到jQuery中已经弃用了live()
。我有一个简单的问题(只是为了确保哪种方法最有效,最快和最新)。我已经myfunction()
了,我希望bind()
使用attr("title") == 'x'
将jQuery("???").bind("mouseup", myfunction);
jQuery("???").bind("keyup", myfunction);
添加到所有当前和未来的元素。
这是我应该使用的:
jQuery("???").delegate("???", "mouseup", myfunction);
jQuery("???").delegate("???", "keyup", myfunction);
或者这个:
jQuery("???").on("mouseup", "???", myfunction);
jQuery("???").on("keyup", "???", myfunction);
或者这个:
{{1}}
我在指定正确的选择器时遇到问题 - 因为其中一些选项允许将事件附加到一个事物(如正文或文档),并且它们允许第二个选择器。
答案 0 :(得分:11)
使用.on()
代替attribute equals selector:
$(document).on('mouseup', '[title="x"]', myfunction);
答案 1 :(得分:6)
替换.live()
的语法是这样的:
$('#parent').on('keyup mouseup', '.children', myfunction);