cari

Rumah  >  Soal Jawab  >  teks badan

javascript - jq klik acara berulang masalah pelaksanaan

Sila bantu, elemen yang dijana secara dinamik oleh jq perlu diikat dengan peristiwa klik untuk berkuat kuasa, dan fungsi yang dijalankan juga mempunyai peristiwa klik, dan kemudian fungsi itu dilaksanakan dua kali Bagaimana untuk menyelesaikan situasi ini?

曾经蜡笔没有小新曾经蜡笔没有小新2688 hari yang lalu1014

membalas semua(9)saya akan balas

  • 漂亮男人

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

    Gunakan objek acara untuk mencari sasaran yang anda benar-benar ingin klik

    balas
    0
  • 曾经蜡笔没有小新

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

    Sebenarnya, ia tidak lebih daripada acara yang diikat dua kali atau acara menggelegak
    1

    $(ele).unbind('click').click(function() {
            // to do    
    })

    2, Batalkan menggelegak

    $(ele).click(function(e){
       e.stopPropagation();
    });

    balas
    0
  • 某草草

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

    Alih keluar pemantauan dahulu, kemudian pantau
    .off(handler).on(handler)

    balas
    0
  • 天蓬老师

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

    Adakah ini menggelegak?

    balas
    0
  • typecho

    typecho2017-07-05 10:40:45

    matikan Buka ikatan dahulu, kemudian ikat

    balas
    0
  • 滿天的星座

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

    $('document').unbind('click').click(function() {
                //dosomething
                })

    balas
    0
  • 过去多啦不再A梦

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

    function removeMaopao(ev){
            var eEvent = ev || event;
            eEvent.stopPropagation() && eEvent.stopPropagation;
            return false;
        }
    

    balas
    0
  • 天蓬老师

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

    Orang di atas membuatnya lebih jelas.
    1. Mendapati masalah
    1.1 terikat dua kali, kerana elemen yang dijana secara dinamik terikat pada acara, tetapi dalam acara ini acara terikat sebelumnya dipanggil semula

    $('document').unbind('click').click(function() {
        //取消绑定的回调事件
    })

    1.2 Ia masih disebabkan oleh kejadian menggelegak (jika anda tidak biasa dengan gelembung, sila baca maklumat yang berkaitan dahulu)

    $('document').click(function(e){
       //取消事件冒泡
       e.stopPropagation();
    });

    2. Elemen yang dihasilkan secara dinamik tidak semestinya perlu menggunakan peristiwa mengikat dinamik

    Pengendali acara menggunakan kaedah delegate() berfungsi pada elemen semasa atau akan datang (seperti elemen baharu yang dicipta oleh skrip).
    Klik di sini untuk melihat dokumen terperinci: http://www.w3school.com.cn/jq...

    $("p").delegate("button","click",function(){
      $("p").slideToggle();
    });

    balas
    0
  • phpcn_u1582

    phpcn_u15822017-07-05 10:40:45

    Ingat untuk mematikan() selepas on()

    balas
    0
  • Batalbalas