JavaScript コードが JSFiddle.net で実行されない
JavaScript コードがライブ サイトでシームレスに機能するが失敗するという問題が発生しました。 JSFiddle.net で実行します。これは、スコープの問題が原因である可能性があります。
BetterSelect クラスとそのメソッドは window.onload 関数内で定義されています。これは、関数のスコープ内でのみアクセス可能であり、HTML マークアップで行ったようにグローバルに参照することはできないことを意味します。
この問題を解決するには、いくつかのオプションがあります。
オプション A: 関数をグローバル変数に変換する
window.BetterSelect = function(oSelList) {...}; window.fillList = function() {...}; window.findIt = function() {...};
オプション B: 目立たない JavaScript を実装する
DOM にイベント ハンドラーをアタッチして、HTML を JavaScript から分離するJS コードから要素を動的に取得します。これにより、HTML で関数を直接参照する必要がなくなります。
オプション C: JSFiddle のラップオンロード機能を無効にする
JSFiddle の 'Wrap' 設定を次のように変更します。 「ラップなし (ヘッド)」または「ラップなし (ボディ)」。
推奨事項:
オプション B は、分離することでベスト プラクティスに従うため、推奨されるアプローチです。 HTML と JavaScript。また、コードの保守性も向上し、さらなる変更の実装が容易になります。
以上が私の JavaScript コードが JSFiddle.net で動作しないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。