关于两个jQuery(js)特效冲突的bug的解决办法
(编辑:jimmy 日期: 2024/11/19 浏览:3 次 )
Problem:
使用jquery,json做一个资源下载的应用,其中用到paginate.js和JSON数据的分页效果,以及jquery.DOMWindow.js的弹窗效果。
但是出现以下bug:
单击“上/下一页,首/末页”后,弹窗事件失效;
Analysis:
对于这个Bug,在paginate.js中设计的上/下一页,首/末页按钮属性是设置了href=”javascript:(void)”,google到关于这个属性的解释:
“javascript:void(0); in a link is usually a placeholderfor an onclick action that is done by clicking the link.”
在写 AJAX 的时候很常应用到类似的语法,好处是连结的样式还会存在,然则不会导向任何处所,改为执行 onclick 事务中的 function。在我们在做页面无刷新时用的比较多,一般是Ajax的使用上。
所以这个bug的原因可以理解为每次单击此按钮后,就链接到void,而让加载DOMWindow的js函数失效了。
所以可以通过把void改成页面中加载DOMWindow的js函数来解决这个bug。
Solution:
把每个翻页按钮中链接的javascript:(void)改成加载DOMWindow的js函数。即:javascript:DOMWindow(),这样在每一次翻页的过程中都会有加载到DOMWindow的js函数。
类似的这种技巧在协调多个javascript/jquery事件的情况下也常常用到。
以上这篇关于两个jQuery(js)特效冲突的bug的解决办法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
下一篇:DOM操作原生js 的bug,使用jQuery 可以消除的解决方法