如何防止jQuery插件更改我的DOM?

时间:2012-08-21 23:44:50

标签: javascript jquery

我正在使用第三方评论插件并使用简单的jQuery自定义几个元素。但是,在某些情况下,插件会自行刷新并消除我对其所做的所有更改。没有事件可以附加与此刷新调用关联的处理程序,并且我无法始终控制它何时发生。

有没有办法阻止某些元素的更改?或者可能是一种检测某些(非形式)元素是否已更改以便我可以将其更改回来的方法?

1 个答案:

答案 0 :(得分:4)

无法阻止页面中的某个javascript更改DOM元素。

您的选择是:

  1. 研究有问题的javascript并将其停用(渲染它以使其无法运行)。你究竟是如何做到这将取决于javascript的工作原理。你可以用更无害的函数替换一些函数,或者在初始化自己或者杀掉它有的定时器之后取消注册事件处理程序等等。

  2. 更改DOM,以便插件不会将您希望它单独留下的元素作为目标。同样,这将取决于插件如何识别它将改变哪些元素。

  3. 定期查询受影响的对象,并在插件混乱后恢复其状态。

  4. 卸载插件。

  5. 在不研究插件代码的情况下,我们很难比这更具体。