javascript - Bagaimana untuk melaksanakan kaedah on() jquery dalam js asli.
我想大声告诉你
我想大声告诉你 2017-07-05 10:56:31
0
2
1206

Bagaimanakah native js boleh melaksanakan kaedah on() jquery dan menyokong mengikat berbilang peristiwa pada elemen pada masa yang sama?

Contohnya:

element.on('click mouseout',function(){...});

Bagaimana untuk melaksanakan ini menggunakan JS asli?

我想大声告诉你
我想大声告诉你

membalas semua(2)
ringa_lee

Beri anda contoh mudah Jika anda ingin menggunakan kaedah on dalam JS asli, anda boleh menulis seperti ini:

HTMLElement.prototype.on = function(events, callback){
    let evs = events.split(' ');
    for(let event of evs){
        this.addEventListener(event, callback);
    }
    // 如果你想像JQuery一样支持链式调用,可以在这里返回this
    // return this;
}

Terdapat banyak kelemahan dalam cara penulisan ini, kerana banyak situasi tidak diambil kira. Sebagai contoh, pengikatan peristiwa IE tidak dipertimbangkan. Contohnya, berbilang acara tidak menganggap berbilang panggilan balik.

Tetapi. Lagipun, tujuannya adalah untuk memberitahu anda fikiran anda, bukan untuk mencipta semula roda untuk anda.

Pelaksanaan JQuery mungkin mengikut logik yang sama Anda boleh menggunakan kaedah ini untuk merangkum perpustakaan anda sendiri.

typecho

tambahEventListener

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