如何在特定的HTML元素上防止JavaScript/jQuery执行



$主题的可能性是什么?

只是想象我有一个foo HTML元素

,例如

<div data-toggle="loader">...</div>

默认情况下具有jQuery函数,

,例如

$(document).ready(function(){
    $('[data-toggle=loader]').loader();
});

,这将把DOM元素更改为

之类的东西

,例如

<div data-toggle="loader" class="active" style="height:800px">...</div>

因此,如果具有类名称.example,我想做的是防止将更改应用于foo元素。因此,我无法触摸默认执行代码。但是我可以编写另一个功能来处理它。这就是我现在面临的问题。有可能实现这一目标?

最简单的是要么更改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);

最新更新