0

通常我可以弄清楚这个,但这个让我胜过。

我在工作中继承了一个……可怕的项目。除了 javascript/jquery 之外,我已经清理了所有内容。

我在外部 javascript 文件中运行了一个简单的文档就绪单击警报(“测试”)函数(并且它有效??)。如果我包含 jQuery 1.9.0,警报会弹出两次(根据控制台,它在某处被调用......所以在我做的地方包括它似乎是重复的)。

所以我的问题是什么情况下会导致jQuery工作,但触发未定义的$?

并且 .noConflict() 没有被调用。

代码在这里调用:

$(document).ready(function() {
    $("#contactSecondaryYes").click(function(){
        alert($(this).val());
    });
});
4

2 回答 2

6

这可能是两个问题之一,都归结为同一个问题:不引用 jQuery

你要么(我认为你是B):

A) 没有引用 jQuery
B) 有另一个使用 jQuery 语法/函数但在您的 jQuery 引用之前引用的脚本文件(可能是外部的)。简单地首先引用 jQuery 就可以解决这个问题。

于 2013-10-01T21:46:31.380 回答
0

您可能希望为此使用自调用匿名函数。

(function ($){
  // Use $ here all you want
})(jQuery);

这样做是创建一个匿名函数并在之后立即调用它,并使用 jQuery 作为参数。在这个函数中,您可以使用 jQuery。这方面有很多变化。

于 2013-10-01T21:52:07.317 回答