"$" 是在jquery里面定义的。
在一次项目中遇见这个错误:“$ is not defined error”.找了半天,网上都说是$没有定义,或者是js没有引入,但是我确实导入了。后来看到一片文章,才发现是js引入的时候顺序错了,给Jquery放在了后面引入,但是我前面已经用到jquery了。
如果页面出现问题,我推荐使用“Firefox” 的 debug来调试。举个例子:
我出现这个问题,也同样引入了jquery,而且位置对,还是提示这个问题。所以我就用 Firefox 的debug来看看js到底有没有加载到,看过之后才发现jquery加载来,但是是从缓存里面读取的,所以我就将缓存清理了,再访问,ok
以下是我看到的文章:
此文出自:http://themaingate.net/dev/jquery/is-not-defined-error
$ is not defined error
Posted Apr 5th, 2009 by David Calhoun in jquery
I first ran into this error when I started using jQuery. It turns out it’s a somewhat common (beginner’s) mistake of trying to run a script without first waiting for jQuery to finish loading, which results in a race condition. The easiest fix for this is
to make sure jQuery has its own separate script tag right above your own jQuery-dependent script:
view sourceprint?
1.<script src="http://jqueryjs.googlecode.com/files/jquery-1.3.2.min.js" type="text/javascript"></script>
2.<script src="myscript.js" type="text/javascript"></script>
This will ensure that myscript.js is loaded only after jQuery is loaded. Of course there are other ways to do this, notably John Resig’s degrading script pattern, but the above solution will at least solve the “$ is not defined” error, which is priority.
However, this may not be enough. Theoretically it’s possible that jQuery doesn’t get loaded (due to some network error) but your script does. In that case we come full circle to our original “$ is not defined” problem. So how do we prevent this?
The first thing I thought of was to make sure $ is defined by wrapping it in an if-then statement. Note that this does NOT fix the problem:
view sourceprint?
1.//note: this method DOES NOT work!
2.if ($) { //check if $ is defined - but this check results in an error!
3. $("#myselector").click (function () {}); //my jQuery code here
4.}
With the above code, we run into the same problem! Arg! But don’t despair. It turns out we need to prevent this sort of error by using the good old try-catch block:
view sourceprint?
1.try {
2. $("#myselector").click (function () {}); //my jQuery code here
3.} catch (e) {
4. console.log (e.message); //this executes if jQuery isn't loaded
5.}
And it works! If $ is undefined (and therefore jQuery isn’t loaded), the error is caught and handled instead of exploding.
Since we don’t live in a perfect world, it would be a good idea to assume that jQuery will not always be loaded and that this “network error” scenario may well occur, so it would be good practice to run a check like this before executing code that depends on
jQuery (and likewise for other scripts with other dependencies!).
转载请标明出处:龙企阁
http://blog.csdn.net/longxia1987
分享到:
相关推荐
如果你遇到了"luckysheet is not defined"的错误,这通常意味着在你的Vue项目中,Luckysheet未正确安装或引入。下面我们将详细探讨这个问题的解决方案以及如何在Vue项目中有效地使用Luckysheet。 首先,让我们了解...
最近在使用python过重遇到这个问题,NameError: name 'xxx' is not defined,在学习python或者在使用python的过程中这个问题大家肯定都遇到过,在这里我就这个问题总结以下几种情况: 错误NameError: name ‘xxx’ ...
ReferenceError: AMap is not defined AMap未定义
在JavaScript编程中,`ReferenceError: $ is not defined` 是一个常见的错误,它通常发生在尝试使用jQuery库,但浏览器无法找到对应的 `$` 符号,即jQuery的核心函数没有被正确加载或引用。这个错误可能由多种原因...
彻底解决 __vd_version_info__ is not defined 等出错问题,完美反编译出微信小程序, 已测试。直接下载后按照 qwerty472123/wxappUnpacker 方式使用。原qwerty472123/wxappUnpacker的版本已过时。
### Environment variable ORACLE_UNQNAME not defined 错误解决 在Oracle数据库管理及维护过程中,可能会遇到“Environment variable ORACLE_UNQNAME not defined”这样的错误提示。本文将围绕这一问题展开详细...
<!... 便民设施系统 ; charset=gbk"/> <link rel="stylesheet" type="text/css" href="style.css"></link> ... key=ABQIAAAAzr2EBOXUKnm_jVnk0OJI7xSosDVG8KKPE1-m51RBrvYughuyMxQ- ... function DragZoomControl(opts_...
在进行Web开发时,我们经常会遇到各种各样的错误提示,其中“jQuery is not defined”是一个非常常见的错误。它通常发生在我们尝试在JavaScript代码中使用jQuery库,但浏览器找不到该库的时候。错误的原因和解决方案...
Uncaught ReferenceError: ReconnectingWebSocket is not defined; 说明缺少包资源,需引入reconnecting-websocket.js和reconnecting-websocket.minjs 创建WebSocket对象使用ReconnectingWebSocket 如下: var ws =...
编译程序时候老是报module "src/utils/utils.js" is not defined的错,狂问度娘也没结果 后来静下来想才尝试弄正确: 我本来的页面地址是:"src/main/welcome/welcome" 在这个页面的基础上要加载utils.js,所以按照...
[Vue warn]: Error in v-on handler: “ReferenceError: Toast is not defined” 解决方法: handleClick(){ this.$toast('点击提示') } 补充知识:vue+vant移动端遇到的那些问题 1、项目引用了lib-flexible 跟px...
#### UID-4 (error) Current design is not defined. **描述**:当 DC 无法确定当前操作的设计实体时,会生成此错误。 **解决步骤**: 1. **设计列表检查**:通过 `list_designs` 命令列出所有已读入的设计实体。 ...
当我们遇到"ERROR"这样的标题时,通常意味着在处理字体或与字体相关的操作时遇到了问题。这可能是由于多种原因引起的,如字体文件损坏、操作系统不支持特定字体、软件冲突或者编码问题等。 首先,我们需要了解字体...
**前端项目-lamejs** **概述** `lamejs` 是一个开源的JavaScript库,专为前端开发者设计,用于在浏览器环境中实现MP3编码。这个项目的核心目标是提供一个纯JavaScript解决方案,允许用户在不依赖服务器的情况下,...
- `clipboard.on(event, callback)`: 添加事件监听器,如`'success'`或`'error'`,回调函数中可以处理复制成功或失败的逻辑。 - `clipboard.destroy()`: 销毁实例,清理监听事件。 3. **浏览器兼容性**: `...
1.random库的使用: random库是使用随机数的Python标准库 从概率论角度来说,随机数是随机产生的数据(比如抛硬币),但时计算机是不可能产生随机值,真正的随机数也是在特定条件下产生的确定值,只不过这些条件...
然而在开发过程中,有时会遇到一些关于layer的报错问题,比如"Uncaught ReferenceError: layer is not defined",这通常是因为layer没有正确加载或者使用方式不正确导致的。 当出现"Uncaught ReferenceError: layer...
但是,在使用Pycharm进行开发工作时,可能会遇到一个问题,即工具栏右下角出现“No R interpreter defined”的提示。这个提示通常发生在开发者尝试在Pycharm中配置或使用R语言解释器时。为了解决这个问题,我们需要...