javascript - Perihal mengikat dan menyahjilid acara asli js
巴扎黑
巴扎黑 2017-07-05 10:38:23
0
2
710

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

巴扎黑
巴扎黑

membalas semua(2)
淡淡烟草味

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);//解绑
小葫芦
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

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan