Rumah  >  Soal Jawab  >  teks badan

javascript - Bagaimana untuk melaksanakan kaedah on() jquery dalam js asli.

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?

我想大声告诉你我想大声告诉你2663 hari yang lalu1152

membalas semua(2)saya akan balas

  • ringa_lee

    ringa_lee2017-07-05 10:58:31

    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.

    balas
    0
  • typecho

    typecho2017-07-05 10:58:31

    tambahEventListener

    balas
    0
  • Batalbalas