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()
处理程序。