当前位置: 首页 > news >正文

Jquery命名冲突解决的五种方案

因为许多 JavaScript 库使用 $ 作为函数或变量名,jquery也一样。其实$只是jquery的一个别名而已,假如我们需要使用 jquery 之外的另一 js 库,我们可以通过调用 $.noConflict() 向该库返回控制权。

例1:

 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 2 <html>
 3 <head>
 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 5 <title>冲突解决1</title>
 6 <!-- 引入 prototype  -->
 7 <script src="prototype-1.6.0.3.js" type="text/javascript"></script>
 8 <!-- 引入 jQuery  -->
 9 <script src="http://www.cnblogs.com/scripts/jquery-1.3.1.js" type="text/javascript"></script>
10 </head>
11 <body>
12 <p id="pp">test---prototype</p>
13 <p >test---jQuery</p>
14 
15 <script type="text/javascript">
16 jQuery.noConflict();                //将变量$的控制权让渡给prototype.js
17 jQuery(function(){                    //使用jQuery
18     jQuery("p").click(function(){
19         alert( jQuery(this).text() );
20     });
21 });
22 
23 $("pp").style.display = 'none';        //使用prototype
24 </script>
25 
26 </body>
27 </html>

例2:

 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 2 <html>
 3 <head>
 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 5 <title>冲突解决2</title>
 6 <!-- 引入 prototype  -->
 7 <script src="prototype-1.6.0.3.js" type="text/javascript"></script>
 8 <!-- 引入 jQuery  -->
 9 <script src="http://www.cnblogs.com/scripts/jquery-1.3.1.js" type="text/javascript"></script>
10 </head>
11 <body>
12 <p id="pp">test---prototype</p>
13 <p >test---jQuery</p>
14 
15 <script type="text/javascript">
16 var $j = jQuery.noConflict();        //自定义一个比较短快捷方式
17 $j(function(){                        //使用jQuery
18     $j("p").click(function(){
19         alert( $j(this).text() );
20     });
21 });
22 
23 $("pp").style.display = 'none';        //使用prototype
24 </script>
25 </body>
26 </html>

例3:

 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 2 <html>
 3 <head>
 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 5 <title>冲突解决3</title>
 6 <!-- 引入 prototype  -->
 7 <script src="prototype-1.6.0.3.js" type="text/javascript"></script>
 8 <!-- 引入 jQuery  -->
 9 <script src="http://www.cnblogs.com/scripts/jquery-1.3.1.js" type="text/javascript"></script>
10 </head>
11 <body>
12 <p id="pp">test---prototype</p>
13 <p >test---jQuery</p>
14 
15 <script type="text/javascript">
16 jQuery.noConflict();                //将变量$的控制权让渡给prototype.js
17 jQuery(function($){                    //使用jQuery
18     $("p").click(function(){        //继续使用 $ 方法
19         alert( $(this).text() );
20     });
21 });
22 
23 $("pp").style.display = 'none';        //使用prototype
24 </script>
25 
26 </body>
27 </html>

例4:

 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 2 <html>
 3 <head>
 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 5 <title>冲突解决4</title>
 6 <!-- 引入 prototype  -->
 7 <script src="prototype-1.6.0.3.js" type="text/javascript"></script>
 8 <!-- 引入 jQuery  -->
 9 <script src="http://www.cnblogs.com/scripts/jquery-1.3.1.js" type="text/javascript"></script>
10 </head>
11 <body>
12 <p id="pp">test---prototype</p>
13 <p >test---jQuery</p>
14 
15 <script type="text/javascript">
16 jQuery.noConflict();                //将变量$的控制权让渡给prototype.js
17 (function($){                        //定义匿名函数并设置形参为$
18     $(function(){                    //匿名函数内部的$均为jQuery
19         $("p").click(function(){    //继续使用 $ 方法
20             alert($(this).text());
21         });
22     });
23 })(jQuery);                            //执行匿名函数且传递实参jQuery
24 
25 $("pp").style.display = 'none';        //使用prototype
26 </script>
27 
28 </body>
29 </html>

例5:

 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 2 <html>
 3 <head>
 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 5 <title>冲突解决5</title>
 6 <!--先导入jQuery -->
 7 <script src="http://www.cnblogs.com/scripts/jquery-1.3.1.js" type="text/javascript"></script>
 8 <!--后导入其他库 -->
 9 <script src="prototype-1.6.0.3.js" type="text/javascript"></script>
10 </head>
11 <body>
12 <p id="pp">test---prototype</p>
13 <p >test---jQuery</p>
14 
15 <script type="text/javascript">
16 jQuery(function(){   //直接使用 jQuery ,没有必要调用"jQuery.noConflict()"函数。
17     jQuery("p").click(function(){      
18         alert( jQuery(this).text() );
19     });
20 });
21 
22 $("pp").style.display = 'none'; //使用prototype
23 </script>
24 </body>
25 </html>

 

转载于:https://www.cnblogs.com/missguolf/p/8186335.html

相关文章:

  • 【margin与padding的区别与用法】
  • MyBatis JdbcType 与Oracle、MySql数据类型对应关系详解
  • 十三、视图
  • POJ3415 Common Substrings
  • Mysql-where子句与having子句的区别
  • 2017总结及2018计划
  • 使用tree生成目录结构
  • BGP 路由属性 公认必遵 AS_PATH
  • Spark之从hdfs读取数据
  • Python3之uuid模块
  • Jquery学习笔记 - DOM操作
  • 【Java线程安全】 — ThreadLocal
  • python模块之collections模块
  • ElasticSearch集群介绍二
  • jquery ajax success 函数 异步调用方法中不能给全局变量赋值的原因及解决办法
  • 10个最佳ES6特性 ES7与ES8的特性
  • Docker入门(二) - Dockerfile
  • iOS高仿微信项目、阴影圆角渐变色效果、卡片动画、波浪动画、路由框架等源码...
  • java 多线程基础, 我觉得还是有必要看看的
  • Linux gpio口使用方法
  • Logstash 参考指南(目录)
  • Python_网络编程
  • React系列之 Redux 架构模式
  • Spring框架之我见(三)——IOC、AOP
  • Vue2.0 实现互斥
  • 十年未变!安全,谁之责?(下)
  • 我这样减少了26.5M Java内存!
  • 智能合约Solidity教程-事件和日志(一)
  • 摩拜创始人胡玮炜也彻底离开了,共享单车行业还有未来吗? ...
  • 智能情侣枕Pillow Talk,倾听彼此的心跳
  • 专访Pony.ai 楼天城:自动驾驶已经走过了“从0到1”,“规模”是行业的分水岭| 自动驾驶这十年 ...
  • #!/usr/bin/python与#!/usr/bin/env python的区别
  • #每天一道面试题# 什么是MySQL的回表查询
  • #我与Java虚拟机的故事#连载07:我放弃了对JVM的进一步学习
  • (02)Cartographer源码无死角解析-(03) 新数据运行与地图保存、加载地图启动仅定位模式
  • (2)(2.4) TerraRanger Tower/Tower EVO(360度)
  • (Redis使用系列) Springboot 实现Redis 同数据源动态切换db 八
  • (Redis使用系列) Springboot 使用Redis+Session实现Session共享 ,简单的单点登录 五
  • (动手学习深度学习)第13章 计算机视觉---图像增广与微调
  • (附源码)ssm码农论坛 毕业设计 231126
  • (学习日记)2024.04.04:UCOSIII第三十二节:计数信号量实验
  • (转)JAVA中的堆栈
  • (转)利用PHP的debug_backtrace函数,实现PHP文件权限管理、动态加载 【反射】...
  • 、写入Shellcode到注册表上线
  • .Net Attribute详解(上)-Attribute本质以及一个简单示例
  • .net Stream篇(六)
  • .net 调用php,php 调用.net com组件 --
  • .NET 反射的使用
  • .NET 将多个程序集合并成单一程序集的 4+3 种方法
  • .net和php怎么连接,php和apache之间如何连接
  • .Net下的签名与混淆
  • /etc/skel 目录作用
  • @TableLogic注解说明,以及对增删改查的影响
  • [ C++ ] STL_list 使用及其模拟实现
  • [Angular 基础] - 数据绑定(databinding)