Objet événement JavaScript : événement en cours

Obtenir l'objet événement

Dans la spécification W3C, l'objet événement est transmis avec la fonction de traitement des événements Chrome, FireFox, Opera, Safari, IE9.0 et versions ultérieures. all Cette méthode est prise en charge mais pour IE8.0 et versions antérieures, l'objet événement doit être utilisé comme propriété de l'objet fenêtre.

◆ Dans les navigateurs qui suivent la spécification W3C, l'objet événement est transmis via les paramètres de la fonction de gestion des événements.

Syntaxe :

elementObject.OnXXX=function(e){
    var eve=e; // 声明一个变量来接收 event 对象
}

Dans la fonction de traitement d'événement liée ci-dessus, le paramètre e est utilisé pour transmettre l'objet événement, et la variable veille représente l'événement en cours. Ce processus est effectué automatiquement par JavaScript.

Par exemple, pour obtenir les coordonnées de la souris lorsqu'un événement se produit, vous pouvez écrire :

<div id="demo">在这里单击</div>
<script type="text/javascript">
document.getElementById("demo").onclick=function(e){
    var eve=e;
    var x=eve.x; // X坐标
    var y=eve.y;  // Y坐标
    alert("X坐标:"+x+"\nY坐标:"+y);
}
</script>

Veuillez consulter la démonstration suivante

QQ截图20161013102330.png

◆ Pour IE8.0 et versions antérieures, l'événement doit être utilisé comme attribut de l'objet window.

Syntaxe :

elementObject.OnXXX=function(){
    var eve=window.event; // 声明一个变量来接收event对象
}

Par exemple, pour obtenir les coordonnées de la souris lorsqu'un événement se produit, vous pouvez écrire :

<div id="demo">在这里单击</div>
<script  type="text/javascript">
document.getElementById("demo").onclick=function(){
    var eve=window.event;
    var x=eve.x;  // X坐标
    var y=eve.y;  // Y坐标
    alert("X坐标:"+x+"\nY坐标:"+y);
}
</script>

Veuillez consulter le démonstration suivante :

QQ截图20161013102438.png

On voit que si vous souhaitez obtenir le statut lié à l'événement en cours, comme l'élément DOM où l'événement s'est produit, les coordonnées de la souris, le clavier clés, etc., vous devez gérer les problèmes de compatibilité du navigateur.

Code typique :

elementObject.OnXXX=function(e){
    var eve = e || window.event;  // 使用 || 运算取得event对象
}

Une chose à noter ici est que la valeur de retour de l'opération || n'est pas nécessairement de type booléen lorsque l'un des deux opérandes du || | est true , la valeur de l'opérande lui-même sera renvoyée. Dans le code ci-dessus, si l'événement est passé avec les paramètres de la fonction, e est vrai, eve=e ; s'il est utilisé comme attribut de l'objet window, window.event est vrai, eve=window.event.

Améliorez le code ci-dessus pour obtenir les coordonnées de la souris afin de le rendre compatible avec tous les navigateurs :

<div id="demo">在这里单击</div>
<script  type="text/javascript">
document.getElementById("demo").onclick=function(e){
    var eve = e || window.event;
    var x=eve.x;
    var y=eve.y;
    alert("X坐标:"+x+"\nY坐标:"+y);
}
</script>

Veuillez consulter la démo ci-dessous :

QQ截图20161013102514.png

Attributs et méthodes communs des objets événementiels

L'objet

event est utilisé pour représenter l'événement en cours. Les événements ont de nombreux états, tels que la position lorsque la souris est cliquée, les touches lorsque le clavier est enfoncé, l'élément HTML où l'événement se produit, s'il faut effectuer la valeur par défaut. action, s'il faut faire des bulles, etc., tout cela existe en tant que propriétés et méthodes de l'objet événement. Pour obtenir le statut correspondant, vous devez accéder aux propriétés et méthodes correspondantes.

Attributs et méthodes communs des objets d'événement (spécification W3C)

QQ截图20161013102531.png

En plus des attributs et méthodes spécifiés par le Spécification W3C ci-dessus De plus, le navigateur IE prend également en charge les attributs suivants.

Attributs de l'objet événement (spécifiques à IE)

QQ截图20161013102545.png

Formation continue
||
<html> <head> <title>获取鼠标的坐标信息</title> </head> <body> <div id="demo">在这里单击</div> <script type="text/javascript"> document.getElementById("demo").onclick=function(e){ var eve = e || window.event; var x=eve.x; var y=eve.y; alert("X坐标:"+x+"\nY坐标:"+y); } </script> </body> </html>
soumettreRéinitialiser le code
  • Recommandations de cours
  • Téléchargement du didacticiel