首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >jQuery -检查是否已触发.noconflict

jQuery -检查是否已触发.noconflict
EN

Stack Overflow用户
提问于 2012-09-03 14:52:22
回答 3查看 2.8K关注 0票数 1

我正在将一个jQuery脚本动态加载到随机页面中。有时他们支持jQuery,有时他们有其他的库,有时他们根本没有任何库。

我需要支持所有的情况,因此,我首先检查是否加载了jQuery。如果没有,我使用.noconflict动态地将jQuery加载到页面中(为了避免冲突,以防有其他库,daahhh),然后继续我的脚本。

如果它已经被加载,我需要知道页面是否已经触发了.noconflict函数。为什么?这很简单。假设一个随机页面同时具有Prototype和jQuery (确实会发生)。站长触发jQuery的.noconflict模式,避免与之冲突。在那之后,我触发我的脚本,并检查jq是否已经加载(是)。然后,我必须知道是否要使用$()或jQuery()方法,因为如果我继续使用$(),我可能会访问原型处理程序,而我不希望这样。

EN

回答 3

Stack Overflow用户

发布于 2012-09-03 14:56:32

.noConflict仅删除$对象,而不删除jQuery对象。(除非添加true作为第一个参数。

因此,您可以始终使用jQuery()

票数 3
EN

Stack Overflow用户

发布于 2012-09-03 14:58:06

正如其他人所说,您应该始终默认使用完整的jQuery对象,而不是别名。如果这是一个打字数量的问题,使用$,然后在文本编辑器中使用find-replace,然后再按下live。

...But如果你一定要以一种荒谬的方式来做这件事,很简单:

代码语言:javascript
运行
复制
​if​ ($ == jQuery) { alert("YAY"); }​​​​​​

下面是我在JSFiddle上使用jQuery 1.8和单独加载的MooTools 1.4.5编写的一个示例:http://jsfiddle.net/fL9rk/2/

运行一次,然后卸载外部MooTools并重试。

别说我们没警告过你。

票数 2
EN

Stack Overflow用户

发布于 2012-09-03 15:00:38

您可以使用:

代码语言:javascript
运行
复制
jQuery(function( $ ){
//Insert your javascript code here

});

所有的jQuery代码都将放在这些大括号中,并且永远不会与其他原型冲突。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12243203

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档