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);
});

しかし、firebug を使用すると、「$ が定義されていません」と表示されます。ファイルの他の場所では、すべてが期待どおりに機能します。実際、最初の行を次のように変更すると

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

すべてが正常に動作します。ブラウザー間の互換性を確保したいので、これはしたくありません。

4

3 に答える 3

1

JQuery を使用する前に、JQuery JS ファイルを含めていないようです。ブラウザーはページを上から下にレンダリングすることに注意してください。そのため、Jquery JS ファイルへの参照をページの上部に追加してください。

于 2013-05-15T15:20:04.837 に答える
0

jquery が読み込まれる前に js が実行されています。試す:

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 に答える