FacebookConnect、jQueryUI和jQuery.noConflict()
我正试图在我的个人网站上建立一个页面,既使用了FacebookConnect、jQueryUI和jQuery.noConflict(),jquery,facebook,api,jquery-ui,Jquery,Facebook,Api,Jquery Ui,我正试图在我的个人网站上建立一个页面,既使用了jQuery,又实现了Facebook-Connect 不幸的是,Facebook客户端API使用了$token,这意味着我必须调用jQuery.noConflict() 不幸的是,我发现出于某种疯狂的原因,事实上,如果你看一下源代码,就会发现到处都是$s 我真的希望能够使用jQuery UI—特别是dialog()组件和draggable也会非常好—但我更希望,我不想手工编辑、测试和维护我自己的jQuery UI任何部分的副本 这是一系列让我束手无
jQuery
,又实现了Facebook-Connect
不幸的是,Facebook客户端API
使用了$token
,这意味着我必须调用jQuery.noConflict()
不幸的是,我发现出于某种疯狂的原因,事实上,如果你看一下源代码,就会发现到处都是$
s
我真的希望能够使用jQuery UI—特别是dialog()
组件和draggable
也会非常好—但我更希望,我不想手工编辑、测试和维护我自己的jQuery UI任何部分的副本
这是一系列让我束手无策的事件中最近的一次。有什么建议吗?救命啊 你提到的帖子很旧,已经过时了。
jqueryui
的1.0
版本在几个文件中出现了此问题,并在报告后立即修复
所有jQuery UI都被包装在一个闭包中
,该闭包以$
的形式传入jQuery,因此可以在内部使用$,而在外部使用$进行其他操作
从
使用以下技术,可以在块内使用$
没有永久性的代码
覆盖$:
(function($) {
/* some code that uses $ */
})(jQuery)
注意:如果使用此技术,您仍然可以通过窗口使用原型。$
例如窗口。$('some\u element\u id')
。闭包外部引用$
的任何函数都将调用Prototype,即使从闭包内部调用也是如此
这就是为什么您会在jQuery UI文件中看到
$
,但请放心,jQuery UI(1.5+)
的任何最新版本都完全受jQuery.noConflict()
您使用的是哪一版本的Facebook Connect API支持?我刚刚下载了它,它看起来像是在使用FB,而不是美元。也许我错过了什么,虽然…不知道你的意思。。。我只是按照他们的文档进行实现。在我开始使用noConflict()之前,我从Facebook的东西中得到了奇怪的方法/对象不存在错误。不过,我想不起来实际的错误是什么。谢谢@rdworth,它也帮了我的忙。