$subject 的可能性有多大?
想象一下我有一个 foo
html 元素
例如
<div data-toggle="loader">...</div>
并且默认绑定(bind)了一个 jquery 函数,
例如
$(document).ready(function(){
$('[data-toggle=loader]').loader();
});
所以这会将 DOM 元素更改为类似的东西,
例如
<div data-toggle="loader" class="active" style="height:800px">...</div>
所以我想做的是阻止将更改应用到 foo
元素,如果它有一个类名 .example
。所以要注意的是,我无法触及默认执行代码。但我可以编写另一个函数来处理它。这就是我现在面临的问题。是否有可能实现这一点?
最佳答案
最简单的方法是更改 DOM 结构,即让 JS 不再找到该元素,或者用一些无害的东西覆盖 jQuery 插件。在插件脚本本身加载后在脚本中执行此操作。
jQuery.fn.loader = jQuery.noop; //$.noop is an empty, pointless function
[编辑]
根据 OP 的评论,最好的办法可能是存储元素的克隆,然后在插件启动后用它替换原始元素。
var
el = $('.some-element'),
clone = el.clone(1, 1);
//some time passes... plugin is called... does nothing to element
el.replaceWith(clone);
关于javascript - 如何防止在特定 HTML 元素上执行 javascript/jquery?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41075538/