JQuery - 没有冲突或关闭

时间:2011-02-26 13:25:00

标签: jquery

我正在编写一个使用jquery的应用程序。它适用于使用原型的现有应用程序,所以显然我不能立即使用美元符号。

我一直在使用noconflict来解决这个问题,但我无法将整个脚本包装在一个传递给jquery的闭包中,如下所示:

(function( $ ){

})( jQuery );

这似乎有效,但我想知道这是否有任何后果?

4 个答案:

答案 0 :(得分:6)

你可以同时使用两者:

(function( $ ){

})( jQuery.noConflict() );

答案 1 :(得分:1)

这应该可以正常工作,因为你将jQuery作为jQuery对象传递给你的闭包。

仍应指定noConflict - 否则jQuery对象可以控制美元符号。调用noConflict会将美元符号传递回已经使用它的任何内容。

文档也暗示了这一点:

  $.noConflict();
  jQuery(document).ready(function($) {
    // Code that uses jQuery's $ can follow here.
  });
  // Code that uses other library's $ can follow here.

答案 2 :(得分:0)

只要你不需要访问块内定义的变量,这就像魅力一样。

Jquery插件通常使用这种精确的屏蔽结构进行编码。

如果可以,请使用It而不是noConflict,因为noConflict会强迫您更多地关注页面中的脚本排序。

您需要在jquery之后加载原型,以便它可以获得$ sign的所有权。

答案 3 :(得分:0)

noConflict()重置jQuery用其原始值设置的所有变量。而不是说:

$(document).ready()
你刚才说

jQuery(document).ready()