javascript - Comment implémenter la méthode on() de jquery dans JS natif.
我想大声告诉你
我想大声告诉你 2017-07-05 10:56:31
0
2
1197

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 ?

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

répondre à tous(2)
ringa_lee

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.

typecho

addEventListener

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal