0

我拥有的 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);
});

但是当我使用萤火虫时,它告诉我“$ 未定义”。在文件的其他地方,一切都按预期工作。实际上,如果我将第一行更改为

document.addEventListener("DOMContentLoaded", function (event) {

一切也都很好。我不想这样做,因为我希望能够获得跨浏览器的兼容性。

4

3 回答 3

1

您收到该错误消息是因为您的脚本在$定义之前运行。

要修复它,请确保在运行该脚本之前加载了 jQuery。

于 2013-05-15T15:18:37.737 回答
1

听起来您在尝试使用 JQuery 之前没有包含 JQuery JS 文件。请记住,浏览器从上到下呈现页面,因此将对 Jquery JS 文件的引用添加到页面顶部。

于 2013-05-15T15:20:04.837 回答
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);
    });
});
于 2013-05-15T15:25:11.483 回答