javascript - jquery ui : calling . droppable 在不存在的 div 上不起作用

标签 javascript jquery jquery-ui

我有这样的代码:

$('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/

相关文章:

javascript - 如何使用SlickGrid和DataView在不分组的情况下计算总计?

jquery - AngularJS - 在指令中选择动态 ng-repeat DOM 元素

javascript - css,jquery调整可拖动div之间的线

javascript - 使用 jquery 对话框在 jstree 中创建一个新节点

javascript - 滚动页面上的导航栏。事件链接

javascript - Node 生成过程检查超时

javascript - 在 vuetify 中设置 select 的高度

php - jquery 自动完成插件不起作用

javascript - JQuery UI - 如何将包含应用于匹配多个 div 的选择器?

jquery - jqGrid 字体设置被 jQueryUI 选项卡设置覆盖