Je suis fatigué d'écrire jQuery, alors je décide d'apprendre du JavaScript brut. Quelque chose dans l'attachement de l'IE est confondu moi. Voici le code.
var btn = document.getElementById('myBtn');
btn.onclick = function(){
alert(window.event.srcElement === this); //true, I know why.
};
btn.attachEvent('onclick', function(event){
alert(event.srcElement === this); //fasle, but why?
});
3 Réponses :
Il s'agit d'une référence contextuelle et est une fenêtre de référence lorsque l'événement de clic se produit, car c'est le seul contexte qui existe à ce moment-là. p>
Je pense que vous mites votre mot.
btn.attachEvent('onclick', function(event){
alert(event.**srcElement** === this);
});
Dans un gestionnaire d'événements liés par la méthode CODE CODE> SPÉCIFIQUE, SPECT> Ceci CODE> fait référence à la fenêtre Global Fenêtre Code> Objet: btn.attachEvent('onclick', function(event) {
alert(this === window); // true
}
Essayez de sortir
ceci code> à la console et voyez. Utilisezconsole.log (this) code>J'essaie ça, mais c'est-à-dire juste me dire que c'est un objet, rien de plus.
Avez-vous repéré la typo "Srcelemnt"? Sans le "e" que la propriété d'événement ne sera indéfinie (et! == cela).
Juste une faute de frappe, return.