jQuery live(“click”,function(){…})不适用于body

我在这里尝试这个简单的代码。 它不适用于实际的click事件或注释掉的事件。 任何人都可以解释原因吗? 我以前没有问题……

自v1.7以来, .live在jQuery中已被弃用,并已在v1.9中删除。

你应该用.on()替换它。

.on有2个绑定元素的语法,而.live只有1个。

如果绑定时元素存在,则执行以下操作:

 $('.element').on('click', function(){ }); 

你甚至可以使用速记:

 $('.element').click(function(){ }); 

如果元素当时不存在,或者将添加新元素(通常用于.live ),则需要使用“事件委托”:

 $(document).on('click', '.element', function(){ }); 

注意:您希望绑定到最接近的静态元素,而不是始终document

这只是因为长时间弃用的live函数现在已经从jQuery中删除了。

更换

 $("body").live("click",function() { alert("coo"); }); 

 $("body").on("click",function() { alert("coo"); }); 

请查看此页面的右上角:“已删除1.9”。

不推荐使用live()方法并将其删除。 使用on()

如果您使用的是jquery 2.0版本,那么您也必须获得migrate 1.0

看到这个: http : //jsfiddle.net/CRYDV/1/

否则你必须按照上面的答案中的建议使用.on()处理程序。