ホームページ > ウェブフロントエンド > jsチュートリアル > アンカー タグの作成中に Javascript OnClickListener 関数が即時に呼び出されないようにする方法は?

アンカー タグの作成中に Javascript OnClickListener 関数が即時に呼び出されないようにする方法は?

DDD
リリース: 2024-10-22 07:15:03
オリジナル
993 人が閲覧しました

How to Prevent Immediate Invocation of Javascript OnClickListener Function during Anchor Tag Creation?

Javascript OnClickListener 関数がすぐにトリガーされる

従来のリンクの外観を模倣するが、代わりに関数をトリガーするアンカー タグを作成しようとしたとき新しいページにリダイレクトすると、ユーザー入力に関係なく、リンクの作成時に onclick 関数が呼び出されます。これにより、その後リンクを手動でクリックすることができなくなります。

問題は、onclick 関数の不適切な実装にあります。実際の関数自体を割り当てる (secondFunction()) のではなく、関数を参照するのが正しい構文 (secondFunction) です。これにより、関数は宣言時ではなく、onclick イベントが発生したときにのみ呼び出されるようになります。

これを修正するには、

<code class="javascript">sentNode.setAttribute('onclick', secondFunction());</code>
ログイン後にコピー

<code class="javascript">sentNode.onclick = secondFunction();</code>
ログイン後にコピー
これにより、 SecondFunction 関数への参照が渡され、クリックされたときに呼び出せるようになります。修正されたコードは次のようになります。

<code class="javascript">function startFunction() {
    var sentNode = document.createElement('a');
        sentNode.setAttribute('href', "#");
        sentNode.onclick = secondFunction;  // Assign the function reference
        sentNode.innerHTML = "Sent Items";

    //Add new element to parent
    var parentNode = document.getElementById('parent');
    var childNode = document.getElementById('sendNode');
    parentNode.insertBefore(sentNode, childNode);
}</code>
ログイン後にコピー
これらの手順に従うと、onclick 関数が正しく割り当てられ、リンクの作成時にすぐに呼び出さなくても、リンクが意図したとおりに機能できるようになります。

以上がアンカー タグの作成中に Javascript OnClickListener 関数が即時に呼び出されないようにする方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート