我正在使用第三方评论插件并使用简单的 jQuery 自定义几个元素。但是,在某些情况下,插件会自行刷新并清除我对其所做的所有更改。没有将处理程序附加到与此刷新调用关联的事件,并且我并不总是可以控制它何时发生。
有什么方法可以防止更改某些元素吗?或者可能是一种检测某些(非表单)元素是否已更改以便我可以将它们更改回来的方法?
我正在使用第三方评论插件并使用简单的 jQuery 自定义几个元素。但是,在某些情况下,插件会自行刷新并清除我对其所做的所有更改。没有将处理程序附加到与此刷新调用关联的事件,并且我并不总是可以控制它何时发生。
有什么方法可以防止更改某些元素吗?或者可能是一种检测某些(非表单)元素是否已更改以便我可以将它们更改回来的方法?
没有办法阻止页面中的一段 javascript 更改您的 DOM 元素。
您的选择是:
研究有问题的 javascript 并将其停用(渲染它使其无法运行)。您如何做到这一点将取决于该 javascript 的工作方式。您可能会用更无害的函数替换一些函数,或者在它初始化自身或杀死它拥有的计时器之后取消注册事件处理程序,等等......
更改 DOM 以使插件不会针对您希望它单独保留的元素。同样,这将取决于插件如何识别它将更改哪些元素。
定期查询受影响的对象并在插件弄乱后恢复它们的状态。
卸载插件。
如果不研究插件代码,我们很难比这更具体。