javascript - jQuery.event.drop 使用多个配置

标签 javascript jquery-plugins drag-and-drop

我正在使用 ThreeDubMedia (here) 的 jQuery.event.drop 构建拖放应用程序。如果我没看错的话,只有添加全局选项的方法。

这个插件有不同的用例,需要不同的配置。

例如在应用程序的一部分中,我使用了多选项

$.drop({ 
    multi: true
});

在同一页面上,就在另一个 div 中,我需要禁用 multi 并设置模式:true - 使用这样的配置

$.drop(
{ 
    mode:true,
    multi: false
});

当执行这段代码时,旧的配置被重写,多重拖放将不再起作用 - 除非我再次覆盖它。

关于如何使用多个配置的任何想法?

最佳答案

想出了一个小的“hacky 解决方案”。 我现在正在使用拖动“开始”事件将配置替换为当前拖放操作所需的配置。

像这样:

$("#myel").drag("start",function( ev, dd ){

    // Replace config

    $.drop({ 
        multi: true,
        mode: "overlap",
    });

    // ... 
})

在另一个拖动绑定(bind)上:

$("#myel2").drag("start",function( ev, dd ){

    // Replace config

    $.drop({ 
        multi: false,
        mode: true,
    });

    // ... 
})

不是很漂亮,但至少可以用。 如果您对此有其他解决方案,请分享!

关于javascript - jQuery.event.drop 使用多个配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10293971/

相关文章:

javascript - Angular ng-sortable - 它如何工作的基本示例

jquery - 将 Jquery Draggable 拖出其父级 jquery 对话框

javascript - 必填字段 javascript 将 php 中的下拉菜单标签视为选定选项

javascript - 使用日期选择器禁用今天之前的日期

javascript - 正确使用 Jstree Select_all() 函数

jquery-plugins - 特定 DIV 的 block UI Jquery 插件

javascript - JQuery 数据表中的日期与时间戳排序问题

javascript - 管理和部署大型 JavaScript 应用程序的最佳实践

javascript - 为什么每个 jquery 插件都用 (function($) {})(jQuery); 包裹起来

javascript - js,当拖放文件时,不打开它