关于两个jQuery(js)特效冲突的bug的解决办法
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的解决办法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
jQuery $命名冲突解决方案汇总
最近遇到个问题,同时引用了jquery库和另外一个js库.当用$XX去调用js库函数时,发现失效了!于是找资料,原来是jquery命名冲突了.因为许多JavaScript 库使用$作为函数或变量名,jquery也一样.其实$只是jquery的一个别名而已,假如我们需要使用jquery 之外的另一js库,我们可以通过调用 $.noConflict() 向该库返回控制权.下面是收集到解决这一问题的五种方案,总有一种你会用得上的. 例一: 复制代码 代码如下: <!DOCTYPE html PUBLI
-
解决jQuery插件tipswindown与hintbox冲突
使用情形如下: 页面a.aspx中点击按钮弹出模拟层,在这个层中有一个输入文本框"监督人"处调用hintbox来产生即时查询功能. 直接调用产生了如下情形: 于是找到jquery.hintbox-1.3.js这个文件,发现其中出现这么一行: 复制代码 代码如下: $("#windown-content").ajaxStart(function(){ $(this).html("<img src='"+templateSrc+"/i
-
完美解决jQuery符号$与其他javascript 库、框架冲突的问题
目前有大量的 javascript 开发框架,其中有一部分使用 $ 作为调用符号,这可能导致相互之间的冲突,而 jQuery 为解决这个问题,可以在 jQuery 导入时放弃 $ 使用权,届时 $ 则由其它框架使用,这样可以避免相同名字的函数调用不再冲突. jQuery 使用 noConflict 方法来放弃 $ 调用时的命名,之后由 jQuery 代替 $ 进行编写. 例如:alert($('#message').val()); 必须修改为 alert(jQuery('#message').v
-
bootstrap与Jquery UI 按钮样式冲突的解决办法
参考: http://getbootstrap.com/javascript/ 今天在写页面的时候, 遇到一个问题, 页面上 要同时使用Jquery UI的弹出框, 又要用 bootstrap 的popover 结果, 弹框的button 就变成这个样子了. 网上查了下, 需要在JS开始的地方 添加两行代码. bootstrapButton = $.fn.button.noConflict(); $.fn.bootstrapBtn = bootstrapButton; 添加完, 刷新页面就正常了
-
解决jquery版本冲突的有效方法
用过jQuery的朋友都知道jQuery不同版本会引发冲突,本文就此问题提出有效的解决方案如下: 案例:解决jQuery1.3.2和1.4.2的冲突.(本例已测试通过!) 第一步:在1.4.2的源代码的最后加上一句 : var $j4 = jQuery.noConflict(true); 之所以在源码这里加,而不是像大多数文章提的在要用到的时候加,这是因为很多基于1.4.2的插件都要加,在这里加可以避免过多插件加这句代码导致重复.这一句是将1.4.2的jQuery和$的引用权限全部放弃.也就是基
-
jQuery多个版本和其他js库冲突的解决方法
jQuery多个版本或和其他js库冲突主要是常用的$符号的问题,这个问题 jquery早早就有给我们预留处理方法了,下面一起来看看解决办法. 1.同一页面jQuery多个版本或冲突解决方法. <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8" /> <title>jQuery测试页</title> </head>
-
避免jQuery名字冲突 noConflict()方法
众所周知,在jQuery语法中,$符号是jQuery的简写方式.但在某些情况下,可能需要在同一个页面引入其他javascript库(比如Prototype).因为$简短方便,很多的库也是使用$符号.为了避免名称冲突,jQuery提供了noConflict()方法来解决这个问题.调用该方法可以把对$标识符的控制权让给其他库. 一般模式: <script src="prototype.js"></script>//1.包含jQuery之外的库(比如Prototype
-
jQuery插件版本冲突的处理方法分析
本文实例分析了jQuery插件版本冲突的处理方法.分享给大家供大家参考,具体如下: jQuery 的某个插件 当有多个版本同时可能会有冲突,导致代码错误 参考typeahead的处理方法,可以在插件中增加noconflict 方法来解决这个问题(在进入版本的时候讲老版本保存,退出的时候还原老版本) demo如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&
-
jQuery解决$符号命名冲突
前些天朋友让我帮他解决一个页面中jquery特效的兼容性问题,觉得这是一个很容易忽略也很重要的一点,特在此记录一下. 朋友给的页面中用到了三个特效,其中两个特效可以显示,第三个没有效果.通过查看引用的js文件,我发现页面中不光引入了jquery.js,还引入了一个名为prototype.js的文件. 这个prototype.js之前未曾听说过,特意在百度上搜了一下,原来它也是一个js类库,功能和jquery差不多,而且很强大. 通过一点点的排查,我发现那两个可以显示的特效引用的是jquery,而
-
jQuery中 $ 符号的冲突问题及解决方案
在jQuery中,$是jQuery的别名,为了书写方便,我们更习惯用$('#id')这一类的方式来书写代码.当同一页面引用了jQuery多个版本或者jQuery与某些其他js库产生冲突,控制台就会报错. 同一个页面多个版本冲突解决办法 你可能会问,为什么在一个页面上会引用多个版本的jQuery,只引用一个不就好了吗? 答案是:不行.一般要用到两个(或以上)版本的jQuery库的原因是:现有的网站已经用了旧版本的jQuery以及相关插件,直接将jQuery升级到新版本会导致这些基于旧版本jQuer
-
解决jquery插件冲突的问题
今天做了一个例子,用jquery和jquery插件 lightbox做了图片浮动放大效果,没有任何问题. 然后再加了一个 导航栏的js,结构导航的js和图片浮动放大的js发生了冲突, 要么就只有导航栏的js有效,要么就只有图片浮动js有效. 结果上网搜了搜,解决办法有如下 jQuery.noConflict() 概述运行这个函数将变量$的控制权让渡给第一个实现它的那个库. 这有助于确保jQuery不会与其他库的$对象发生冲突. 在运行这个函数后,就只能使用jQuery变量访问jQuery对象.例
-
jquery插件冲突(jquery.noconflict)解决方法分享
许多的 JS 框架类库都选择使用$符号作为函数或变量名,jQuery是其中最为典型的一个.在 jQuery 中,$ 符号只是 window.jQuery 对象的一个引用,因此即使 $ 被删除,window.jQuery 依然是保证整个类库完整性的坚强后盾.jQuery 的 API 设计充分考虑了多框架之间的引用冲突,我们可以使用 jQuery.noConflict 方法来轻松实现控制权的移交. jQuery.noConflict 方法包含一个可选的布尔参数[1],用以决定移交 $ 引用的同时是否
随机推荐
- AngularJS页面访问时出现页面闪烁问题的解决
- asp.net下使用jquery 的ajax+WebService+json 实现无刷新取后台值的实现代码
- 基于DOM节点删除之empty和remove的区别(详解)
- 打印机常见十大故障分析第1/2页
- ASP.NET中实现jQuery Validation-Engine的Ajax验证
- js和jq使用submit方法无法提交表单的快速解决方法
- PHP性能优化准备篇图解PEAR安装
- php获取新浪微博数据API实例
- 用Zend Encode编写开发PHP程序
- 使用优化器来提升Python程序的执行效率的教程
- Android实现底部导航栏功能(选项卡)
- JS日期格式化之javascript Date format
- 使用PHP实现生成HTML静态页面
- 使用jQuery不判断浏览器高度解决iframe自适应高度问题
- jquery根据name属性查找的小例子
- javascript实现捕捉键盘上按下的键
- 微信小程序 摇一摇抽奖简单实例实现代码
- 传奇翎风4-8M2脚本大全之功能操作篇
- Spring整合多数据源实现动态切换的实例讲解
- 基于mysql的论坛(6)