我在这里尝试这个简单的代码。它不适用于实际click
事件或被注释掉的事件。谁能解释为什么?我not
以前也遇到过问题...
问问题
1734 次
4 回答
7
这仅仅是因为这个live
长期被弃用的函数现在已经从 jQuery 中删除了。
代替
$("body").live("click",function() { alert("coo"); });
和
$("body").on("click",function() { alert("coo"); });
查看此页面的右上角:“已删除 1.9”。
于 2013-01-31T17:53:07.487 回答
6
.live
自 v1.7 起已在 jQuery 中弃用,并已在 v1.9 中删除。
您应该将其替换为.on()
.
.on
有 2 种用于绑定元素的语法,而.live
只有 1 种。
如果元素在您绑定时存在,您可以这样做:
$('.element').on('click', function(){
});
您甚至可以使用速记:
$('.element').click(function(){
});
如果该元素当时不存在,或者将添加新元素(这是.live
通常使用的),则需要使用“事件委托”:
$(document).on('click', '.element', function(){
});
注意:您希望绑定到最近的静态元素,而不是总是document
.
于 2013-01-31T17:59:38.940 回答
2
该live()
方法已被弃用并删除。使用on()
.
于 2013-01-31T17:53:29.280 回答
1
如果您使用的是版本,那么您也jquery 2.0
必须获得migrate 1.0
看到这个:http: //jsfiddle.net/CRYDV/1/
否则,您必须.on()
按照上述答案中的建议使用处理程序。
于 2013-01-31T17:54:43.927 回答