ホームページ  >  に質問  >  本文

javascript - jqクリックイベントの繰り返し実行の問題

ヘルプ、jq によって動的に生成された要素を有効にするには、クリック イベントにバインドする必要があり、実行される関数にもクリック イベントがあり、関数が 2 回実行されます。この状況を解決するにはどうすればよいですか?

曾经蜡笔没有小新曾经蜡笔没有小新2686日前1013

全員に返信(9)返信します

  • 漂亮男人

    漂亮男人2017-07-05 10:40:45

    イベントオブジェクトを使用して、実際にクリックしたいターゲットを見つけます

    返事
    0
  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-07-05 10:40:45

    実際には、イベントが 2 回バインドされているか、イベントがバブリングしているだけです
    1. イベントをバインド解除してから再度バインドします。 リーリー

    2、バブリングをキャンセル

    リーリー

    返事
    0
  • 某草草

    某草草2017-07-05 10:40:45

    最初に監視を削除してから、
    .off(handler).on(handler)を監視します

    返事
    0
  • 天蓬老师

    天蓬老师2017-07-05 10:40:45

    これは泡立っていますか?

    返事
    0
  • typecho

    typecho2017-07-05 10:40:45

    off 最初にバインドを解除してからバインドします

    返事
    0
  • 滿天的星座

    滿天的星座2017-07-05 10:40:45

    リーリー

    返事
    0
  • 过去多啦不再A梦

    过去多啦不再A梦2017-07-05 10:40:45

    リーリー

    返事
    0
  • 天蓬老师

    天蓬老师2017-07-05 10:40:45

    上記の人がそれをより明確にしました。
    1. 問題が見つかりました
    動的に生成された要素がイベントにバインドされているため、1.1 は 2 回バインドされていますが、このイベントでは、以前にバインドされたイベントが再度呼び出されます

    リーリー

    1.2 やはりイベントのバブリングが原因です (バブリングに慣れていない場合は、最初に関連情報をお読みください)

    リーリー

    2. 動的に生成された要素は、必ずしも動的バインディング イベントを使用する必要はありません

    delegate() メソッドを使用するイベント ハンドラーは、現在または将来の要素 (スクリプトによって作成された新しい要素など) で動作します。
    ここをクリックして詳細なドキュメントを表示します: http://www.w3school.com.cn/jq...

    リーリー

    返事
    0
  • phpcn_u1582

    phpcn_u15822017-07-05 10:40:45

    on() の後に忘れずに off() をオフにしてください

    返事
    0
  • キャンセル返事