如何解除特定脚本添加的功能

时间:2017-10-02 18:08:14

标签: javascript jquery html wordpress

我有一个WordPress网站,我已经安装了contact-form7和简单的fancybox插件,可以在按钮点击时创建一个表单弹出窗口, 所以我需要这个代码

 <a class="fancybox" href="#contact_form_pop">Contact Us</button>
 <h1>helo</h1>
<div class="fancybox-hidden" style="display: none;">

<div id="contact_form_pop">[contact-form-7 id="7" title="Contact form 1"]
</div>
 </div>

它在所有的网站上运行正常,但在我的网站上,当我点击锚点按钮时它也向下滚动窗口,最后,我发现我的主题有一个很长的javascript文件,它绑定了一些函数与这个锚点,那个脚本通过标签名称(a)绑定函数,脚本非常复杂,我不想改变它,是否有任何方式它不会将其功能与a.fancybox元素绑定。或者我可以删除此脚本绑定的函数,并且只保留由花式框插件的脚本绑定的函数

它有意义吗? ,如果需要任何澄清,请告诉我

由于

修改

通过谷歌开发者工具,我发现该主题脚本将此功能绑定到a.fancybox

...function(){if(location.hostname==this.hostname&&location.pathname.replace(/^\//,"")==this.pathname.replace(/^\//,""))return e.scroll_to(this.hash,!0)})},scroll_to:function(e,n,t){if("#infinite-top-anchor"==e)a=0;else{var s=i(e);if(s.leng...

解决方案

...function(){if(location.hostname==this.hostname&&location.pathname.replace(/^\//,"")==this.pathname.replace(/^\//,"") && !this.classList.contains('fancybox'))return e.scroll_to(this.hash,!0)})}.....

OR

在我的情况下不需要但我们也可以阻止函数绑定到它的所有(a.fancybox)内部元素以及我们可以使用最接近的(closet('a.fancybox')也可以在a.fancybox上工作)

 ...function(){if(location.hostname==this.hostname&&location.pathname.replace(/^\//,"")==this.pathname.replace(/^\//,"") && !this.closest('a.fancybox'))return e.scroll_to(this.hash,!0)})}.....

0 个答案:

没有答案