繁体   English   中英

jQuery-未捕获的TypeError:$不是函数

[英]jQuery - Uncaught TypeError: $ is not a function

我很困惑...我正在我的网站上工作,并添加了一些jQuery。 经过测试,我发现jQuery没有执行任何操作。 然后,我尝试了我能想到的最简单但可见的代码:

<script type="text/javascript">
  $("html").click(function() {
    $("html").html("");
  });
</script>

但这也不起作用。 所以我在js控制台中尝试了相同的代码,并得到了这个错误:

Uncaught TypeError: $ is not a function
  at <anonymous>:2:1
  at Object.InjectedScript._evaluateOn (<anonymous>:848:140)
  at Object.InjectedScript._evaluateAndWrap (<anonymous>:891:34)
  at Object.InjectedScript.evaluate (<anonymous>:627:21)

而只输入$只会返回“ undefined”。

我调查后发现,我不小心移动了Gemfile,并且服务器可能无法访问jquery-rails gem。 但是在我将其移回并重新启动服务器后,问题并没有解决。

然后我想也许页面上有一些错误的代码阻止了jQuery的运行。 我删除了所有代码,因此它只是一个空白文档,运行并再次尝试,但是在控制台中出现了相同的错误。

我的应用程序的head人包括:

<head>
  <%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
</head>

我的app/assets/javascripts/application.js包含以下行//= require jquery

并且bundle install返回“ jquery-rails 4.1.1”。

在同一页面上,我之前运行过很多jQuery,都没有问题。 看来我的服务器突然停止了解jQuery。 到底是怎么回事?

将其包装在jQuery函数中,如下所示:

// Note the "$" inside function() - that's the key
jQuery( document ).ready(function( $ ) {

  $("html").click(function() {
     $("html").html("");
  });

});

确保在app/assets/application.js包含jquery:

//= require jquery
//= require jquery_ujs

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM