Aujourd'hui, j'ai vu les deux formes de passage de paramètres de this et event dans le chapitre de Javascript Introduction Classic - Events. Parce qu'en tant que développeur front-end junior, je l'utilise généralement uniquement pour transmettre des paramètres, donc je veux vraiment comprendre quelle est la différence entre ceci et l'événement, et lequel est le plus approprié à utiliser dans quelles circonstances.
onclick = changeImg(this) vs onclick = changeImg(event)
<img src='usa.gif' onclick="changeImg(event)" /> <script> var myImages = [ 'usa.gif','canada.gif','jamaica.gif','mexico.gif' ]; function changeImg(e) { var el = e.target; var newImgNumber = Math.round(Math.round()*3); while(el.src.indexOf(myImages[newImgNumber]) != -1){ el.src =myImages[newImgNumber]; } } </script>
1.this est un mot-clé en langage Javascript.
2.cela représente un objet interne généré automatiquement lors de l'exécution de la fonction et ne peut être utilisé qu'à l'intérieur de la fonction.
3. La différence entre ceci et event.target :
Les événements dans js bouillonneront, donc cela peut changer, mais event.target ne changera pas (lorsque l'événement est déclenché, seulement en passant la référence de l'objet événement actuel), c'est toujours l'élément DOM cible qui accepte directement l'événement
De plus, this et event.target sont tous deux des objets DOM ; jquey, vous pouvez les convertir Pour les objets jquery : $(this) et $(event.target);
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!