JavaScript: onclick ハンドラーの予期しない呼び出し
アンカー タグに似ているがカスタム関数を実行するリンクを作成しようとすると、onclickこの関数はページの読み込みと同時に呼び出され、その後のクリックは無効になります。
説明:
提供されたコード スニペット内:
<code class="javascript">var sendNode = document.createElement('a'); sendNode.setAttribute('onclick', secondFunction());</code>
の行setAttribute('onclick', SecondFunction()) が正しくありません。すぐに SecondFunction 関数を実行し、その戻り値 (通常は未定義) を onclick 属性に割り当てます。これにより、2 番目の関数が即座に呼び出されます。
解決策:
2 番目の関数をイベント ハンドラーとして正しく割り当てるには、正しい構文は次のとおりです。
<code class="javascript">var sendNode = document.createElement('a'); sendNode.setAttribute('onclick', secondFunction);</code>
これにより、2 番目の関数を呼び出す前に要素のクリック イベントを待機するイベント リスナーが作成されます。
以上がonclick ハンドラーがリンクをクリックしたときではなく、ページの読み込み時にトリガーされるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。