为什么我不能在MVC中使用“$”来调用JQuery函数

时间:2015-01-21 03:33:29

标签: jquery asp.net-mvc

当我像这样使用JQuery时,它不起作用

$(document).ready(function() {
    alert("abc");
});

但是当我像这样使用JQuery它的工作

JQuery(document).ready(function() {
    alert("abc");
});

如何配置" $"

4 个答案:

答案 0 :(得分:1)

您的问题与范围有关。基本上,您正在使用的其他一些插件或库已经使用$来替换除jQuery之外的其他内容。

要像您习惯的那样使用jQuery,例如$('#myInput').val();,您需要将代码放在IIFE - Immediately Invoked Function Expression.内部。$将在本地使用作用域指向jQuery并将按预期工作

  // IIFE - Immediately Invoked Function Expression
  (function($, window, document) {
      // The $ is now locally scoped

      // use $ normally inside here

  }(window.jQuery, window, document));

我还读过你可以使用下面的内容,但我还没有测试过:

jQuery(function($){
// The $ is now locally scoped
// use $ normally
});

答案 1 :(得分:0)

我也得到了错误一次..我用这个来解决,可能是由于不同的jQuery版本。

$ = jQuery.noConflict();

答案 2 :(得分:0)

请检查您的代码是否在某些地方使用jQuery.noConflict();以下链接可让您更深入地了解应该使用jquery.noconflict

时的实际含义

答案 3 :(得分:0)

尝试使用$ j = jQuery.noConflict();我认为在你的代码中,其他一些java库正在使用$表示法。一旦你宣布它,你可以改变代码

$(document).ready(function() {
    alert("abc");
});

这应该可以解决你的问题