是否有另一个函数可以代替jquery 1.26中的live()?

时间:2011-04-11 02:50:36

标签: jquery drupal-6

$('#content').find('p:eq(0)').append('<span class="more"> | more</span><span class="less"> | less</span>')
$('p:gt(0)').hide();

$('.more, .less').live('click', function() {
    $('#content').find('p:gt(0)').slideToggle();
    $('.more, .less').toggle();
})

jquery是1.26,它没有live()函数的支持。是否有另一个功能可以代替它。或改变代码以获得效果?

我使用drupal-6,如果我不想升级jquery。有没有办法达到效果?

3 个答案:

答案 0 :(得分:4)

您可以将常规click处理程序添加到.content,然后检查是否$(e.target).is('.more, .less')

这就是live()内部工作的方式。

答案 1 :(得分:1)

jQuery 1.26中没有.live(),因此您必须寻找livequery

答案 2 :(得分:0)

在追加范围后,可以使用$('。more')。bind('click',function(){etc})但是你不能在document.ready上声明.bind方法,除非你添加了clickable元素之前。