如何检查jQuery UI插件是否附加到元素?
如何检查jQuery UI插件是否附加到元素? 例如,如果我加载.sortable小部件,它的存在如何确定?
这个问题背后的目的是我希望能够在元素上切换.sortable。 由于能够看到.sortable存在,我可以调用.sortable(’destroy’)来删除它。
所有ui小部件都将其名称作为true附加到元素的容器数据中。 jqueryui还添加了一个数据filter表达式。
var $elem = $('div.sortable-container:data(sortable)'); if ($elem.length){ // $elem contains list of elements that have sortable widget attached }
从jQuery UI 1.8开始, 每个小部件都会为Sizzle添加特殊选择器。 它们的forms为:ui-widgetname
。
要检查元素上是否存在可排序小部件,您可以使用:
if(element.is(':ui-sortable')) { element.sortable('destroy'); }
如果有人在以后的jqueryUI版本中寻找这个解决方案,那么数据容器的可排序插件的名称现在是uiSortable而不是可排序的。 我使用jQueryui 1.10
即找到你可以使用的元素
var $elem = $('#sortable-container:data(uiSortable)');
并找到尚未初始化的元素
var $elem = $('#sortable-container:not(:data(uiSortable))');
所有UI小部件都有类ui-widget
。 通常,每个小部件还会将小部件类添加到主元素。 在这种情况下,您应该看到ui-sortable
添加到可排序容器中。
- 是否有一种格式化jQuery链的首选方法,使它们更具可读性?
- 使用moment.js和setInterval的动态日期和时间
- 每当我的json数据文件发生更改时如何刷新页面
- BigCommerce Stencil – 基于自定义javascript逻辑加载组件部分
- 使用Facebook Graph API和JavaScript上传照片:将canvas图像转换为multipart / form-data作为POST正文?
- 可以从闭包中访问JS Mutable变量
- 使用jQuery / CSS缩小/增长动画
- 在Woocommerce中将ajax添加到购物车事件后运行javascript代码
- 如果在jquery中使用’this’的语句语法