0

私のコードは次のように構築されています: 最初のページの読み込み。jquery ライブラリと Noty プラグインは script タグで読み込まれます。Noty 通知を (script タグで) 正常に作成できます。同じページ。

後で js ファイルをインクルードし、その js ファイルの関数から同じコードを使用して Noty 通知を使用すると、エラーが発生します: TypeError: noty is not a function

私は何を間違っていますか?これはある種の範囲の問題ですか?

メインページに含まれるもの:

<script type="text/javascript" src="js/jquery-1.9.0.min.js"></script>
<script type="text/javascript" src="js/noty/jquery.noty.js"></script>
<script type="text/javascript" src="js/noty/layouts/top.js"></script>
<script type="text/javascript" src="js/noty/themes/default.js"></script>
<script type=text/javascript>
var noty = noty({text: 'noty - a jquery notification library!'});
</script>
<script type="text/javascript" src="js/transferlist.js"></script>

動作します。これで div が作成され、この diff のコンテンツが jquery を介してロードされます。そこでは、関数が transferlist.js (showstatusmessage) 内から呼び出されます。

そのとき、エラーが発生します: TypeError: noty is not a function

function showstatusmessage(message) {
        var noty = noty({
          text: 'noty - a jquery notification library!',
          type: 'alert',
          timeout: 5000
        });
}

この問題を理解/解決するための助けをいただければ幸いです!

編集: var noti = noty(... への呼び出しを変更しました... 今、取得しています: TypeError: jQuery.noty is undefined @ jquery.noty.js:455 jQuery がメイン ページにロードされているので、私はそうしないと思います 'ここでもう一度ロードする必要はありません... そうですか?

4

1 に答える 1

3

最初の課題:

var noty = noty({text: 'noty - a jquery notification library!'});

呼び出していた関数を上書きしたので、次回試したときに

var noty = noty({
      text: 'noty - a jquery notification library!',
      type: 'alert',
      timeout: 5000
    });

見つかったのは、以前のグローバルに定義されvar notyたものだけであり、探していた関数ではありません。これらの割り当てに別の変数名を使用してみてください。

于 2013-05-23T22:58:45.820 に答える