我有一个像这样的代码:
$('div.widgetDroppable').droppable({
accept: 'li.widget',
drop: function(event, ui) {
self.dropEventHandler(event, ui, $(this));
}
});
我允许用户以dinamically方式添加许多widgetDroppable div(通过类似$('#page').append(SOME_HTML_CODE)
的代码):问题(实际上这不是真正的问题,但我不喜欢这种方式)是如果我在创建任何widgetDroppable div之前放置前面的代码它将无法工作,似乎它不会将'droppable'事物绑定到div,因为目前还没有其中任何一个。我必须将该代码放在一个方法中,该方法在用户添加div时随时调用,但我想避免这种情况。这可能吗?
另外,我不明白这是否是jQuery中的默认行为,因为我注意到对于其他类型的div,代码显然仍在工作,即使它们尚未创建。
答案 0 :(得分:1)
您可以使用livequery解决此问题。
您的代码看起来像这样:
$('div.widgetDroppable').livequery(function(){
$(this).droppable({
accept: 'li.widget',
drop: function(event, ui) {
self.dropEventHandler(event, ui, $(this));
}
});
});