0

几周前让 jquery 在 firebug 中运行时遇到了麻烦(尤其是在 drupal 网站上)。显然问题是 Drupal 正在抓取 $ 变量,所以我得到了一个小的命名空间片段 (function($)...(Jquery)); 收回了美元。我一直在 firebug 中使用命名空间,但得到的结果不一致,尤其是在命名空间中混合纯 JavaScript 和 Jquery 时。我知道所有 Jquery 都是 javascript 并且它们一起工作,但是查看示例我发现人们部署此命名空间的方式有一些奇怪的变化。作为一个一般性问题,但也特别是在 Firebug 上下文中,是否需要将 javascript 放在与命名空间 Jquery 的任何特定关系中(在命名空间内、内部函数调用、函数输出或任何其他约定)?谢谢

4

1 回答 1

2

如果您的意思是防止$被回收,则没有约定,但有一种方法。其他框架也使用该$名称。以后声明要使用的任何东西都$将接管$。但是,您可以阻止它或绕过它。

jQuery 通过它的noConflict()方法提供了很多方法来防止它。但我首选的方法是将它们包装在一个函数中。jQuery 也使用jQuery命名空间。$是一个速记别名,也是一个很常见的别名。所以功能$.each()也一样jQuery.each()。到底哪个疯狂的框架使用 jQuery 作为其命名空间?

包装在函数中的示例如下:

(function($){

    //inside here, "$" is jQuery

}(jQuery)); //pass "jQuery"
于 2012-04-20T23:44:02.543 回答