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

发布于 2024-10-31 15:02:28 字数 428 浏览 1 评论 0原文

$('#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。有办法达到效果吗?

$('#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();
})

the jquery is 1.26, it haven't have a suppport to the live() function. is there another function can instead of it. or alter the code to get the effect?

i using drupal-6, if i don't want to upgrade the jquery. is there a way to get the effect?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

素染倾城色 2024-11-07 15:02:28

您可以向 .content 添加普通的 click 处理程序,然后检查是否 $(e.target).is('.more, .less').

这就是 live() 内部的工作原理。

You can add a normal click handler to .content, then check whether $(e.target).is('.more, .less').

This is how live() works internally.

一城柳絮吹成雪 2024-11-07 15:02:28

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

there is no .live() in jQuery 1.26, so you must be looking for livequery.

深海夜未眠 2024-11-07 15:02:28

附加跨度后,您可以使用 $('.more').bind('click',function() { etc }) 但是除非您之前添加了可点击元素,否则您无法在 document.ready 上声明 .bind 方法。

After you append the span, you can use $('.more').bind('click',function() { etc }) But you cant declare the .bind method on document.ready unless you added the clickable element before.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文