Rumah > Soal Jawab > teks badan
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
淡淡烟草味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);//解绑
高洛峰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