recherche

Maison  >  Questions et réponses  >  le corps du texte

javascript - Comment implémenter la méthode on() de jquery dans JS natif.

Comment le js natif peut-il implémenter la méthode on() de jquery et prendre en charge la liaison de plusieurs événements à un élément en même temps ?

Par exemple :

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

Comment implémenter cela en utilisant du JS natif ?

我想大声告诉你我想大声告诉你2702 Il y a quelques jours1198

répondre à tous(2)je répondrai

  • ringa_lee

    ringa_lee2017-07-05 10:58:31

    Donnez-vous un exemple simple. Si vous souhaitez utiliser la méthode on en JS natif, vous pouvez écrire comme ceci :

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

    Il y a de nombreuses failles dans cette façon d'écrire, car de nombreuses situations ne sont pas prises en compte. Par exemple, la liaison d'événement d'IE n'est pas prise en compte. Par exemple, plusieurs événements ne prennent pas en compte plusieurs rappels.

    Mais. Après tout, le but est de vous faire part de vos réflexions, pas de réinventer la roue à votre place.

    L'implémentation de JQuery suit probablement la même logique. Vous pouvez utiliser cette méthode pour encapsuler votre propre bibliothèque.

    répondre
    0
  • typecho

    typecho2017-07-05 10:58:31

    addEventListener

    répondre
    0
  • Annulerrépondre