当前位置:  开发笔记 > 前端 > 正文

Facebook Connect,jQuery UI和jQuery.noConflict()

如何解决《FacebookConnect,jQueryUI和jQuery.noConflict()》经验,为你挑选了1个好方法。

我正在尝试在我的个人网站上构建一个既使用jQuery又实现的页面Facebook Connect.

不幸的是,Facebook client API使用了$ token,这意味着我必须打电话jQuery.noConflict()

不幸的是,我发现有一些疯狂的原因,正如Rick Strahl指出的那样,jQuery UI不尊重noConlict().完全没有.事实上,如果你看一下源代码,那就$完整了.

真的希望能够使用jQuery UI - 特别是dialog()组件,并且draggable非常好 - 但我甚至更多,我不想手工编辑 - 测试和维护 - 我自己的副本jQuery UI的任何部分.

这是我不得不刮胡子的一系列牦牛中最近的一次,这让我的智慧结束了.有什么建议?救命!



1> rdworth..:

你引用的帖子已经很老了,已经过时了.该1.0释放jQuery UI在几个文件中有这个问题,并尽快据报道固定.

所有的jQuery UI都包含在closurejQuery中$,因此可以在内部使用$,而$则用于外部的其他内容.

来自http://docs.jquery.com/Using_jQuery_with_Other_Libraries#Referencing_Magic_-_Shortcuts_for_jQuery

使用以下技术,它允许您在代码块内部使用$而不会永久覆盖$:

(function($) {
  /* some code that uses $ */
})(jQuery)

注意:如果您使用此技术,您仍然可以通过window.$例如,使用Prototype window.$('some_element_id').在闭包之外的任何引用函数$都将调用Prototype,即使从闭包内部调用也是如此.

这就是为什么你会看到$jQuery UI文件内部的原因,但请放心,jQuery UI (1.5+)完全支持任何最新版本jQuery.noConflict()

推荐阅读
coco2冰冰
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有