jQuery动态调用事件侦听器

时间:2013-09-16 11:49:59

标签: javascript jquery ajax jquery-ui

我有一个很大的问题: 我的页面上有很多Div容器,其中包含“.element”类,我使用jQuery进行拖放。 现在我有可能用类“element”动态创建div,我想让它们也可以拖动。 所以我想:简单的解决方案:我只是致电

$( “元素”。)可拖动();

一次。但是:整个监听器被执行了两次,这对我来说是不可接受的,因为它发送了AJAX-Requests,我不希望它们被发送两次。

所以我开始使函数只在新创建的元素上调用draggable,我觉得这有点愚蠢。

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

请帮助我!

亲切的问候, 大卫

2 个答案:

答案 0 :(得分:2)

使用event.stopPropagation()

在你的事件中......会停止事件触发两次......

我希望它适合你...

答案 1 :(得分:0)

快速解决方案可能是使用data-attr作为标记

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

注意:不推荐使用live方法,但您可以使用on