繁体   English   中英

多次初始化jQuery可排序的成本

[英]Cost of Initializing jQuery Sortable Multiple Times

我目前正在使用表单生成器,并且使用jQuery sortable,正在编辑当前字段时,我正在从列表项中删除事件处理程序。 保存问题输入后,然后将其重新初始化。

目前,我正在运行jQuery Sortable的初始化。

$('.sortable').sortable({
         placeholder: "sortable-placeholder",
         items : ".is-sortable"
    });

然后在编辑时运行destroy方法以删除可排序的功能

$('.sortable').sortable('destroy');

然后保存问题,然后重新初始化可排序。

 $('.sortable').sortable({
         placeholder: "sortable-placeholder",
         items : ".is-sortable"
    });

我尝试添加和删除.is-sortable类以防止在该类不存在的情况下进行排序,但是由于事件处理程序已附加到父容器,因此该项目仍可排序

是否有更好的方法来取消jQuery可排序事件处理程序的绑定

如果不是,则在字段的每个“添加”,“编辑”和“保存”上销毁并重新初始化插件的成本是多少?

您可以使用cancel方法而不是destroy方法。 cancel方法停止当前的排序操作。

取消当前可排序对象中的更改,并将其还原到开始当前排序之前的状态。 在停止和接收回调函数中很有用。

http://api.jqueryui.com/sortable/#method-cancel

现在取消编辑操作。 我认为,这将有所帮助。

您已经启用和禁用它也可以完成工作,那么您不必每次都调用它:

http://api.jqueryui.com/sortable/#method-disable

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM