Jquery 如何使用live()?
我有一个脚本,我想在下面的代码中使用live inJquery 如何使用live()?,jquery,Jquery,我有一个脚本,我想在下面的代码中使用live in if($('#Menu').length >0) { $('#Menu >li').click(function() { }); } 如何使用它?使用而不是live,因为从1.7开始它就不推荐使用 if($('#Menu').length) { $('#Menu').on('click', '> li', function() { }); } 从jQuery1.7开始,.live方法已被
if($('#Menu').length >0) {
$('#Menu >li').click(function() {
});
}
如何使用它?使用而不是live,因为从1.7开始它就不推荐使用
if($('#Menu').length) {
$('#Menu').on('click', '> li', function() {
});
}
从jQuery1.7开始,.live方法已被弃用。使用。继续 附加事件处理程序。jQuery旧版本的用户应使用 .委托优先于.live 如果您使用的是jQuery版本<1.7且>=1.4.2,则可以使用 你没有 .live被弃用为.delegate,然后.delegate和.bind等被弃用为.on .live的继承者的示例实现 这可能会给您带来类似的结果:
$('#Menu').on('click', '> li', function(){
});
如果没有.on,请使用.delegate
正如我所提到的,.live已被弃用以支持,因此,如果您没有.on,那么您的jQuery版本中应该首先尝试使用:
做类似事情的实例
如果您坚持.live,您可以编写如下代码:
$('#Menu > li').live('click', function(){
});
更正了问题中的示例
一般来说,您不需要检查是否存在某些东西来向其添加事件处理程序。jQuery将搜索元素,如果未找到,它将不添加事件处理程序,因此您可以编写:
$('#Menu >li').click(function() {
});
而不是您在问题中所写的内容。您不应该使用live。
你应该使用
Live已弃用,不应使用。
p、 这也将替换委托语法-如果您愿意
您不必提供第二个参数-然后它将侦听容器本身及其所有子级+子级。
从1.7开始+
例如:
$(".myDiv").on("click","#myButton",function (){
alert('1');
})
我的想法如下:
if($('#Menu').length >0) {
$('#Menu >li').live('click', function() {
});
}
从jQuery1.7开始,.live方法已被弃用。使用.on附加事件处理程序。较旧版本jQuery的用户应优先使用.delegate而不是.live 在你的情况下,你可以这样使用
if($('#Menu').length >0) {
$('#Menu >li').live("click", function() {
});
}
如果您使用jQuery>=1.7,您不应该开始了解.live,因为它很快就会被弃用,可能它已经被弃用了。您应该开始学习.on$document.on'click','Menu>li',函数{…};挑剔。。。如果$'Menu'.length{…}@elclars,我会遵从你的挑剔,大师,你不认为$'Menu'.length在这里毫无意义吗?查看我的答案以了解原因。我尝试了$'.menuDiv'。在'click','li',函数{alert.....};上面说的不是函数。我不能将它绑定到类吗?@user1184100:那么这意味着您的jQuery比1.7旧。您应该尝试使用。然后委派。加上这个答案跳过了选择器中的>字符,这是一个有意义的部分。
$(".myDiv").on("click","#myButton",function (){
alert('1');
})
if($('#Menu').length >0) {
$('#Menu >li').live('click', function() {
});
}
if($('#Menu').length >0) {
$('#Menu >li').live("click", function() {
});
}