javascript - 检测 "hooked"DOM 元素

标签 javascript object jquery

所以我有一组 jQuery 插件,非常基本的东西,但我将代码拆分成插件,因为我不喜欢在存储整个应用程序逻辑的地方使用巨大的 jQuery(document).ready() 函数。

每个插件都有一个“析构函数”,它基本上是我在插件原型(prototype)对象中定义的一个函数。此函数取消绑定(bind)插件使用的事件,删除插件添加的 DOM 元素等。

插件是这样初始化的:

$('.element').plugin();

有什么方法可以从另一个应该替换正文 HTML 的插件中获取所有附加了我的插件的元素,这样我就可以调用析构函数了吗?

我想将每个插件实例存储在一个全局数组中,然后我可以从任何插件访问该数组。但也许有不使用全局状态的更好方法?

最佳答案

我不认为有现成的方法...但是作为 hack,您可以向插件中的目标元素添加一个类,然后使用该类获取所有元素,并初始化小部件 lke

$.fn.plugin = function(){
    this.addClass('my-plugin-class');
}

然后初始化

$(element).plugin()

通过插件获取所有元素

$('.my-plugin-class')....

但如果它是一个 jQuery UI 小部件,那么您可以使用选择器 $(':ui-widgetname'),参见 this answer

关于javascript - 检测 "hooked"DOM 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20276660/

相关文章:

javascript - 具有滑动过渡的 RenderController (Transform.translate)

Javascript 将项目组合到数组对象中

PHP 对象分配与克隆

javascript - "Required field"验证消息与国家选择字段重叠

jquery - 我可以同时使用 .find() 和 .filter() 吗?

php - jQuery 删除 $.ajax 成功的表行

javascript - knockout 回归函数

javascript - 如何从javascript获取clone()函数的结果?

javascript - 如何根据属性值从单个对象数组创建多个对象数组

javascript - 我的 jQuery 数组没有数字索引?