jQuery 动态调用事件侦听器

jQuery dynamically call event listeners

本文关键字:侦听器 事件 调用 动态 jQuery      更新时间:2023-09-26

我有一个大问题:我的页面上有很多带有".element"类的 Div 容器,我使用 jQuery 使其可拖动。现在我可以使用类"element"动态创建div,并且我也想使它们可拖动。所以我想:简单的解决方案:我只是打电话

$(".element").draggable();

再。但是:整个侦听器被执行两次,这对我来说是不可接受的,因为它发送 AJAX 请求,我不希望它们被发送两次。

所以我开始让函数只在新创建的元素上调用可拖动的,我想这有点愚蠢。

所以我的问题:自从 live()-Method 被弃用以来,是否有更好的可能性(在我看来这是一个很大的错误!

请帮帮我!

亲切问候大卫

使用event.stopPropagation()

在您的活动中..它将停止事件以触发两次....

我希望它对你有用...

一个快速的解决方案可能是使用data-attr作为标志

$(".element:not(data-draggable='1')")
    .draggable()
    .attr("data-draggable","1");

注意:live方法已弃用,但您可以使用on