如何自动将拖放效果应用于动态添加元素?

时间:2010-04-06 09:48:32

标签: php jquery jquery-ui

我使用jquery ui对一系列DIV应用拖放效果,例如:

<div class="draggable">...</div>
<div class="draggable">...</div>
<div class="draggable">...</div>
<div class="draggable"> this DIV was dynamically added, not draggable </div>

问题是动态添加DIV不会应用此效果,我如何将此效果也应用于新成员?

3 个答案:

答案 0 :(得分:1)

你不能直接使用带有.draggable()的.live()函数,但你可以将.live()与mouseover事件一起使用,并像鼠标一样重新附加.draggable()。

$('.draggable').live('mouseover',function(){
    $(this).draggable();
});

答案 1 :(得分:0)

看一下jQuery .live()。我相信你可以在这里使用它。如果不是 - 只需在创建元素时附加.draggable()

答案 2 :(得分:0)

您可能还想使用jQuery 1.4引入的delegate()方法获取战利品,这比live()

稍好一些。

这是一篇比较两种方法的文章 - http://net.tutsplus.com/tutorials/javascript-ajax/quick-tip-the-difference-between-live-and-delegate/