ホームページ >ウェブフロントエンド >jsチュートリアル >私の JavaScript コードが JSFiddle.net で動作しないのはなぜですか?

私の JavaScript コードが JSFiddle.net で動作しないのはなぜですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-10-31 22:38:28906ブラウズ

Why is My JavaScript Code Not Working on JSFiddle.net?

JavaScript が JSFiddle.net で動作しない

提供されたコードはライブ サイトでは動作しますが、JSFiddle.net では実行できず、エラーが発生します「ReferenceError: fillList is not generated」や「ReferenceError: mySelectList is not generated」など。

説明:

このエラーは、HTML で参照されている関数が原因で発生します。 (「fillList()」と「findIt()」) は「window.onload」関数内で定義されています。このコンテキストでは、これらの関数は onload 関数内でのみアクセス可能であり、グローバル変数として参照することはできません。

解決策:

この問題を解決するには、3 つのオプションがあります。 :

  1. 関数定義の変更:

    • 関数定義を "function blah(){}" から "window.blah" に変更します。 = 関数(){};"。これにより、関数がグローバルになり、HTML からアクセスできるようになります。
  2. 控えめな JavaScript:

    • JavaScript を HTML から分離します。また、JavaScript のみを介してイベント ハンドラーを DOM 要素にアタッチします。これにより、グローバル関数への依存が排除されます。
  3. JSFiddle 設定の調整:

    • JSFiddle 設定を「ラップなし」に変更します。 (body または head)」を指定すると、JSFiddle がコードを window.onload 関数で囲むことがなくなります。

推奨事項:

オプション b (目立たない JavaScript) は、HTML をロジックから分離するためのベスト プラクティスに従うため、推奨されるアプローチです。これにより、保守性が向上し、コードの再利用性が向上します。

以上が私の JavaScript コードが JSFiddle.net で動作しないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。