1

我在这里尝试这个简单的代码。它不适用于实际click事件或被注释掉的事件。谁能解释为什么?我not以前也遇到过问题...

4

4 回答 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 回答