我正在尝试在我的个人网站上构建一个既使用jQuery
又实现的页面Facebook Connect
.
不幸的是,Facebook client API
使用了$ token
,这意味着我必须打电话jQuery.noConflict()
不幸的是,我发现有一些疯狂的原因,正如Rick Strahl指出的那样,jQuery UI不尊重noConlict().完全没有.事实上,如果你看一下源代码,那就$
完整了.
我真的希望能够使用jQuery UI - 特别是dialog()
组件,并且draggable
非常好 - 但我甚至更多,我不想手工编辑 - 测试和维护 - 我自己的副本jQuery UI的任何部分.
这是我不得不刮胡子的一系列牦牛中最近的一次,这让我的智慧结束了.有什么建议?救命!
你引用的帖子已经很老了,已经过时了.该1.0
释放jQuery UI
在几个文件中有这个问题,并尽快据报道固定.
所有的jQuery UI都包含在closure
jQuery中$
,因此可以在内部使用$,而$则用于外部的其他内容.
来自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()