cari

Rumah  >  Soal Jawab  >  teks badan

javascript - Perihal mengikat dan menyahjilid acara asli js

Muat naik kod terus

ele.addEventListener('click', function(e) {
    console.log(e)
})

Di sini saya perlu menyahikat peristiwa klik ele dalam keadaan tertentu, tetapi saya perlu menggunakan parameter tambahan seperti peristiwa semasa mengikat

Saya tahu removeEventListener boleh dilepaskan, tetapi fungsi yang ingin mereka hantar mestilah sama dengan fungsi luaran, yang tidak berfungsi jika saya memerlukan parameter

Saya juga tahu bahawa apabila anda hanya perlu mengikat acara klik, gunakan ele.click = function() {} dan kemudian gunakan ele.click = null untuk menyahikatnya, atau gunakan kaedah yang disediakan oleh perpustakaan alat lain

Tetapi sekarang saya hanya ingin tahu sama ada boleh menggunakan removeEventListener untuk membatalkannya

Terima kasih

巴扎黑巴扎黑2739 hari yang lalu688

membalas semua(2)saya akan balas

  • 淡淡烟草味

    淡淡烟草味2017-07-05 10:40:23

    Itu ok, asalkan fungsi mengikat dan tidak mengikat menghala ke fungsi yang sama

    function handler(e){
        //操作
        console.log(e)
    }
    ele.addEventListener('click', handler);//绑定
    ele.removeEventListener('click', handler);//解绑

    balas
    0
  • 高洛峰

    高洛峰2017-07-05 10:40:23

    function bindFunc(e) {
        console.log(e);
        //用参数e来进行一些操作,干啥都行
    }
    this.cusBindFunc = bindFunc.bind(this, e); //bind一下,因为remove的时候用的func必须和绑定的时候一样
    ele.addEventListener('click', this.cusBindFunc);//绑定事件
    ele.removeEventListener('click', this.cusBindFunc);//解绑

    Selain itu, untuk keserasian, ia boleh serasi dengan attachEvent dan detachEvent

    Tidak pasti sama ada saya faham soalan anda @AugustEchoStone

    balas
    0
  • Batalbalas