cari

Rumah  >  Soal Jawab  >  teks badan

javascript - js membatalkan pengikatan acara

Saya telah menggunakan addEvent untuk mengikat acara klik beberapa kali pada elemen Adakah terdapat sebarang cara untuk membatalkan semua acara terikat sekaligus?

黄舟黄舟2825 hari yang lalu662

membalas semua(3)saya akan balas

  • 为情所困

    为情所困2017-05-19 10:44:35

    removeevent

    balas
    0
  • ringa_lee

    ringa_lee2017-05-19 10:44:35

    Tidak, anda hanya boleh mengalih keluar pengikatan satu demi satu tahap DOM2 ialah removeEventListener dan IE ialah attachEvent. removeEventListener,IE中的是attachEvent
    匿名函数是不可以被解绑的,所以只能解除具名函数。

    JQuery中有一种方法可以一下移除所有事件处理函数:

        <input type="button" id="btn" value="Click Me!" name="">
        <input type="button" value="删除所有事件" id="delAll" name="">
        <p id="test">
            
        </p>
    
        $(function(){
            $("#btn").bind("click",function(){
                $("#test").append("<p>我的绑定函数1</p>");
            }).bind("click",function(){
                $("#test").append("<p>我的绑定函数2</p>");
            }).bind("click",function(){
                $("#test").append("<p>我的绑定函数3</p>");
            });
            $("#delAll").bind("click",function(){
                $("#btn").unbind("click");
            })
        })

    在JQ中,unbindFungsi tanpa nama tidak boleh dilepaskan, jadi hanya fungsi yang dinamakan boleh dinyahikat.

      Terdapat kaedah dalam JQuery untuk mengalih keluar semua pengendali acara sekaligus:
    1. rrreee

      Dalam JQ, unbind boleh digunakan untuk membuka semua ikatan:

    2. Jika tiada parameter, padamkan semua peristiwa terikat.

    3. Jika jenis acara disediakan, hanya acara terikat jenis tersebut akan dipadamkan.

    Jika fungsi pemprosesan yang diluluskan semasa pengikatan digunakan sebagai parameter kedua, hanya fungsi ini akan dialih keluar.

    🎜 🎜================================================ === =========🎜Ini adalah satu-satunya kaedah yang saya boleh fikirkan buat masa ini, saya harap ia membantu! 🎜

    balas
    0
  • 世界只因有你

    世界只因有你2017-05-19 10:44:35

    element.addEventListener("mouseover", myFunction);

    element.removeEventListener("mousemove", myFunction);

    Penyelesaian serasi silang pelayar

    var x = document.getElementById("myBtn");

    if (x.addEventListener) { // Semua pelayar utama, kecuali IE 8 dan lebih awal

    x.addEventListener("click", myFunction);

    } lain jika (x.attachEvent) { // IE 8 dan lebih awal

    x.attachEvent("onclick", myFunction);

    }

    balas
    0
  • Batalbalas