多くの人がこのような Javascript を使用したことがあります。
< a href= "#" onclick="al()">保存
上記のコードは非常に使いやすく、すべてのブラウザでサポートされています
HTML、CSS、JSを分けたほうがメンテナンスが楽だという本をかなり初期に読んだことがありますが、利便性に貪欲なので、Firefoxを使ってデバッグしたときはよくこう書きます。今日、Firefox のファイアバグを使用するとコードが簡単に無効になる可能性があるため、インラインで記述しない方がよいことがわかりました。
その理由を見てみましょう:
コードは次のとおりです:
効果は次のとおりです。 >
しかし、Firefox で a タグを見つけて、その中の js コードを削除すると、以下に示すように、a タグをクリックしてもダイアログ ボックスはポップアップしません
したがって、クリック イベントが次の場合、ユーザーが入力したデータが正当であるかどうかを判断することは不可能です。
私は asp.net で働いており、今日この問題を発見しました。ネットサーバーコントロールにはフロントデスクとバックグラウンドの2つのクリックイベントがあり、ユーザーの入力データが正当であるかどうかを判断するためにフォアグラウンドのクリックイベントを使用しました。その結果、Firefox を使ってデバッグしたところ、不正なデータであってもバックグラウンドメソッドが直接呼び出されるという現象が発生したことが分かりました。
解決策:
以下に示すように、タグに ID を付けます
<スクリプト>
document.getElementById("a1").onclick=function(){}