我拥有的js文件中的第一个语句是
$(document).on("DOMContentLoaded", function (event) {
$(document.body).on('beforeinsert', onBeforeInsert);
$(document.body).on('afterinsert', onAfterInsert);
$(document.body).on('wait', onWait);
$(window).on('load', onLoad);
});
但是当我使用firebug时它告诉我“$未定义”。在文件的其他地方,一切都按预期工作。事实上,如果我将第一行更改为
document.addEventListener("DOMContentLoaded", function (event) {
一切也很好。我不想这样做,因为我希望能够获得跨浏览器的兼容性。
答案 0 :(得分:1)
您收到该错误消息是因为您的脚本在定义$
之前运行。
要修复它,请确保在运行该脚本之前加载了jQuery。
答案 1 :(得分:1)
听起来你在尝试使用JQuery之前没有包含JQuery JS文件。请记住,浏览器从上到下呈现页面,因此将对Jquery JS文件的引用添加到页面顶部。
答案 2 :(得分:0)
你的js在jquery加载之前运行。尝试:
1 - 在定义此脚本之前,在页眉的引用jquery
2 - 使用$([...]):
$(function() {
$(document).on("DOMContentLoaded", function (event) {
$(document.body).on('beforeinsert', onBeforeInsert);
$(document.body).on('afterinsert', onAfterInsert);
$(document.body).on('wait', onWait);
$(window).on('load', onLoad);
});
});