我有这样的代码:
$('div.widgetDroppable').droppable({
accept: 'li.widget',
drop: function(event, ui) {
self.dropEventHandler(event, ui, $(this));
}
});
我允许用户动态添加许多 widgetDroppable div(通过像 $('#page').append(SOME_HTML_CODE)
这样的代码):问题(这不是一个真正的问题)实际上是个问题,但我不喜欢这种方式)是,如果我在创建任何 widgetDroppable div 之前放置前面的代码,它将无法工作,似乎它没有将“droppable”绑定(bind)到div 们,因为现在没有人。我必须将该代码放入一个方法中,该方法会在用户添加 div 时调用,但我想避免这种情况。这可能吗?
另外,我不明白这是否是 jQuery 中的默认行为,因为我注意到对于其他类型的 div,即使尚未创建,代码显然仍然可以工作。
最佳答案
您可以使用livequery来解决这个问题.
你的代码看起来像这样:
$('div.widgetDroppable').livequery(function(){
$(this).droppable({
accept: 'li.widget',
drop: function(event, ui) {
self.dropEventHandler(event, ui, $(this));
}
});
});
关于javascript - jquery ui : calling . droppable 在不存在的 div 上不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4663871/