我对jquery 1.9.1有一个问题。我已经搜索过了,但这些都不能解决我的问题。
$('.sm2_expander').live('click', function() {
$(this).parent().parent().toggleClass('sm2_liOpen').toggleClass('sm2_liClosed');
return false;
});
每个人都说“使用'on‘函数”,但这一次我的代码从来没有工作过。
$(document).on("click", "a.offsite", function(){ alert("Goodbye!"); });
编辑:这是我的使用项目页面:draggable link
发布于 2013-03-22 23:43:55
在您的示例中,您使用了选择器a.offsite
,但是您的页面中没有与此选择器匹配的元素。这可能是它不起作用的原因。
$(function(){
$(document).on('click', '.sm2_expander', function(){
alert('bye');
$(this).parent().parent().toggleClass('sm2_liOpen').toggleClass('sm2_liClosed');
})
})
我想你可以把这个缩短为
$(function(){
$(document).on('click', '.sm2_expander', function(){
$(this).closest('li').toggleClass('sm2_liOpen sm2_liClosed');
})
})
发布于 2014-07-28 20:00:13
.live()是在jQuery 1.3中引入的,因此它不能在早期版本中工作。
从那以后,.live()在jQuery 1.7中也被弃用了。
的替代方法是.on()和.delegate()
请参阅相关问题jQuery 1.9 .live()不是关于如何迁移现有代码的函数。
我使用了"jquery-1.8.3.min.js“,我的问题就解决了。
发布于 2013-03-22 23:21:44
试试这个:- http://jsfiddle.net/trdb9/
JS:-
$(document).on("click", "a.offsite", function () {
alert("Goodbye!");
});
HTML:-
<a class="offsite">Click Me</a>
https://stackoverflow.com/questions/15573645
复制相似问题