{"id":248,"date":"2025-04-14T12:51:24","date_gmt":"2025-04-14T09:51:24","guid":{"rendered":"https:\/\/planeta21vek.ru\/elina732\/fr\/?p=248"},"modified":"2025-11-20T21:20:48","modified_gmt":"2025-11-20T18:20:48","slug":"liste-complete-des-gestionnaires-devenements-html-javascript-avec-exemples","status":"publish","type":"post","link":"https:\/\/planeta21vek.ru\/elina732\/fr\/2025\/04\/14\/liste-complete-des-gestionnaires-devenements-html-javascript-avec-exemples\/","title":{"rendered":"Liste compl\u00e8te des gestionnaires d&rsquo;\u00e9v\u00e9nements HTML\/Javascript avec exemples"},"content":{"rendered":"<p style=\"text-align: justify;\">Les gestionnaires d&rsquo;\u00e9v\u00e9nements doivent \u00eatre utilis\u00e9s de mani\u00e8re correcte, de pr\u00e9f\u00e9rence en ne les \u00e9crivant pas directement dans les attributs de balise, mais en installant les gestionnaires d&rsquo;\u00e9v\u00e9nements dans les fichiers inclus avec le code JavaScript. Si vous utilisez la biblioth\u00e8que jQuery, le nom du gestionnaire doit \u00eatre \u00e9crit sans le pr\u00e9fixe on.<\/p>\n<p><!--more--><\/p>\n<h2><span style=\"color: #008000;\">click \/ onclick<\/span><\/h2>\n<p style=\"text-align: justify;\">\u2013 cliquez sur l&rsquo;\u00e9l\u00e9ment ; se produit lorsqu&rsquo;un \u00e9l\u00e9ment est cliqu\u00e9 avec le bouton gauche de la souris (sur les appareils \u00e0 \u00e9cran tactile, cela se produit lors du toucher).<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/planeta21vek.ru\/elina732\/wp-content\/uploads\/2024\/11\/sobytiya251124.jpg\" \/><\/p>\n<p style=\"text-align: justify;\">Options d&rsquo;enregistrement contextuelles<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;input value=&quot;\u041d\u0430\u0436\u043c\u0438 \u043c\u0435\u043d\u044f&quot; onclick=&quot;alert('\u041a\u043b\u0438\u043a!')&quot; type=&quot;button&quot;&gt;\r\n&lt;a href=&quot;#&quot; onclick=&quot;alert('L'exemple 1 a fonctionn\u00e9'); return false;&quot;&gt;L'exemple 1&lt;\/a&gt;\r\n<\/pre>\n<p style=\"text-align: justify;\">S\u00e9quence de nombres commen\u00e7ant \u00e0 1<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;script&gt;\r\n  function countRabbits() {\r\n    for(let i=1; i&lt;=3; i++) {\r\n      alert(&quot;Num\u00e9ro de lapin &quot; + i);\r\n    }\r\n  }\r\n&lt;\/script&gt;\r\n&lt;input type=&quot;button&quot; onclick=&quot;countRabbits()&quot; value=&quot;Compter les lapins!&quot;&gt;\r\n&lt;input id=&quot;elem&quot; type=&quot;button&quot; value=&quot;Presse-moi!&quot;&gt;\r\n&lt;script&gt;\r\n  elem.onclick = function() {\r\n    alert('Merci');\r\n  };\r\n&lt;\/script&gt;\r\n&lt;input type=&quot;button&quot; id=&quot;button&quot; value=&quot;Bouton&quot;&gt;\r\n&lt;script&gt;\r\n  button.onclick = function() {\r\n    alert('Klik!');\r\n  };\r\n&lt;\/script&gt;\r\n<\/pre>\n<p style=\"text-align: justify;\">Affiche le contenu du bouton \u00abCliquez sur moi\u00bb dans une fen\u00eatre contextuelle<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;button onclick=&quot;alert(this.innerHTML)&quot;&gt;Presse-moi&lt;\/button&gt;\r\n<\/pre>\n<p style=\"text-align: justify;\">Plusieurs gestionnaires d&rsquo;\u00e9v\u00e9nements contextuels<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;input id=&quot;elem&quot; type=&quot;button&quot; value=&quot;Presse-moi&quot;\/&gt;\r\n&lt;script&gt;\r\n  function handler1() {\r\n    alert('Merci!');\r\n  };\r\n  function handler2() {\r\n    alert('Merci encore!');\r\n  }\r\n  elem.onclick = () =&gt; alert(&quot;Bonjour&quot;);\r\n  elem.addEventListener(&quot;click&quot;, handler1); \/\/ Merci!\r\n  elem.addEventListener(&quot;click&quot;, handler2); \/\/ Merci encore!\r\n&lt;\/script&gt;\r\n<\/pre>\n<p style=\"text-align: justify;\">Obtenir les coordonn\u00e9es de la souris \u00e0 partir d&rsquo;un objet \u00e9v\u00e9nement<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;input type=&quot;button&quot; value=&quot;Presse-moi&quot; id=&quot;elem&quot;&gt;\r\n&lt;script&gt;\r\n  elem.onclick = function(event) {\r\n    \/\/ type d'\u00e9v\u00e9nement de sortie, \u00e9l\u00e9ment et coordonn\u00e9es de clic\r\n    alert(event.type + &quot; \u043d\u0430 &quot; + event.currentTarget);\r\n    alert(&quot;Coordonn\u00e9es: &quot; + event.clientX + &quot;:&quot; + event.clientY);\r\n  };\r\n&lt;\/script&gt;\r\n<\/pre>\n<p style=\"text-align: justify;\">Changer l&rsquo;arri\u00e8re-plan d&rsquo;un objet<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;button&gt;Change color&lt;\/button&gt;\r\n&lt;script&gt;\r\nconst btn = document.querySelector(&quot;button&quot;);\r\nfunction random(number) {\r\n  return Math.floor(Math.random() * (number + 1));\r\n}\r\nbtn.onclick = function () {\r\n  const rndCol =\r\n    &quot;rgb(&quot; + random(255) + &quot;,&quot; + random(255) + &quot;,&quot; + random(255) + &quot;)&quot;;\r\n  document.body.style.backgroundColor = rndCol;\r\n};\r\n&lt;\/script&gt;\r\n&lt;button onclick=&quot;bgChange()&quot;&gt;Press me&lt;\/button&gt;\r\n&lt;script&gt;\r\nfunction bgChange() {\r\n  const rndCol =\r\n    &quot;rgb(&quot; + random(255) + &quot;,&quot; + random(255) + &quot;,&quot; + random(255) + &quot;)&quot;;\r\n  document.body.style.backgroundColor = rndCol;\r\n}\r\n&lt;\/script&gt;\r\n<\/pre>\n<p style=\"text-align: justify;\">Changer l&rsquo;arri\u00e8re-plan d&rsquo;un \u00e9l\u00e9ment div<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;div id='myDiv'&gt;\u00c9l\u00e9ment de changement de couleur&lt;\/div&gt;\r\n&lt;button onclick='changeColor()'&gt;Changer de couleur&lt;\/button&gt;\r\n&lt;script&gt;\r\nfunction changeColor() {\r\n  document.getElementById('myDiv').style.backgroundColor = 'red';\r\n}\r\n&lt;\/script&gt;\r\n<\/pre>\n<p style=\"text-align: justify;\">Changer la couleur du lien<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;script&gt;\r\nfunction ChangeColor(Element) {\r\n\tif (Element.style.color == 'green') Element.style.color = 'red';\r\n\telse Element.style.color = 'green';\r\n\treturn false;\r\n}\r\n&lt;\/script&gt;\r\n&lt;a href=&quot;#&quot; style=&quot;color: green;&quot; onclick=&quot;return ChangeColor(this);&quot;&gt;Changer de couleur&lt;\/a&gt;\r\n<\/pre>\n<p style=\"text-align: justify;\">Validation du formulaire<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;form&gt;\r\n  &lt;div&gt;\r\n    &lt;label for=&quot;fname&quot;&gt;Nom: &lt;\/label&gt;\r\n    &lt;input id=&quot;fname&quot; type=&quot;text&quot; \/&gt;\r\n  &lt;\/div&gt;\r\n  &lt;div&gt;\r\n    &lt;label for=&quot;lname&quot;&gt;Nom de famille: &lt;\/label&gt;\r\n    &lt;input id=&quot;lname&quot; type=&quot;text&quot; \/&gt;\r\n  &lt;\/div&gt;\r\n  &lt;div&gt;\r\n    &lt;input id=&quot;submit&quot; type=&quot;submit&quot; \/&gt;\r\n  &lt;\/div&gt;\r\n&lt;\/form&gt;\r\n&lt;p&gt;&lt;\/p&gt;\r\n&lt;script&gt;\r\nvar form = document.querySelector(&quot;form&quot;);\r\nvar fname = document.getElementById(&quot;fname&quot;);\r\nvar lname = document.getElementById(&quot;lname&quot;);\r\nvar submit = document.getElementById(&quot;submit&quot;);\r\nvar para = document.querySelector(&quot;p&quot;);\r\n\r\nform.onsubmit = function (e) {\r\n  if (fname.value === &quot;&quot; || lname.value === &quot;&quot;) {\r\n    e.preventDefault();\r\n    para.textContent = &quot;Les deux champs doivent \u00eatre remplis!&quot;;\r\n  }\r\n};\r\n&lt;\/script&gt;\r\n<\/pre>\n<p style=\"text-align: justify;\">Interception des \u00e9v\u00e9nements CSS dans la vid\u00e9o avec la fonction stopPropagation(), qui, lorsqu&rsquo;elle est appel\u00e9e dans le gestionnaire d&rsquo;\u00e9v\u00e9nements d&rsquo;un objet, provoque l&rsquo;ex\u00e9cution du gestionnaire mais l&rsquo;\u00e9v\u00e9nement ne remonte pas plus haut dans la cha\u00eene<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;button&gt;Display video&lt;\/button&gt;\r\n&lt;div class=&quot;hidden&quot;&gt;\r\n  &lt;video&gt;\r\n    &lt;source src=&quot;rabbit320.mp4&quot; type=&quot;video\/mp4&quot; \/&gt;\r\n    &lt;source src=&quot;rabbit320.webm&quot; type=&quot;video\/webm&quot; \/&gt;\r\n    &lt;p&gt;\r\n      Your browser doesn't support HTML5 video. Here is a\r\n      &lt;a href=&quot;rabbit320.mp4&quot;&gt;link to the video&lt;\/a&gt; instead.\r\n    &lt;\/p&gt;\r\n  &lt;\/video&gt;\r\n&lt;\/div&gt;\r\ndiv {       position: absolute;\r\n        top: 50%;\r\n        transform: translate(-50%,-50%);\r\n        ...      }\r\n.hidden {\r\n   left: -50%;\r\n  }\r\n.showing {\r\n   left: 50%;\r\n  }\r\n&lt;script&gt;\r\nvar videoBox = document.querySelector(&quot;div&quot;);\r\nvar video = document.querySelector(&quot;video&quot;);\r\nvideoBox.onclick = function () {\r\n  videoBox.setAttribute(&quot;class&quot;, &quot;hidden&quot;);\r\n};\r\nvideo.onclick = function () {\r\n  video.play();\r\n};\r\nvideo.onclick = function (e) {\r\n  e.stopPropagation();\r\n  video.play();\r\n};\r\n&lt;\/script&gt;\r\n&lt;p style=&quot;text-align: justify;&quot;&gt;Afficher et masquer le texte&lt;\/p&gt;\r\n&lt;button onclick='toggleVisibility()'&gt;Afficher\/Masquer&lt;\/button&gt;\r\n&lt;div id='hiddenDiv' style='display:none'&gt;Texte masqu\u00e9&lt;\/div&gt;\r\n&lt;script&gt;\r\nfunction toggleVisibility() {\r\n    let element = document.getElementById('hiddenDiv');\r\n    if (element.style.display === 'none') {\r\n        element.style.display = 'block';\r\n    } else {\r\n        element.style.display = 'none';\r\n    }\r\n}\r\n&lt;\/script&gt;\r\n<\/pre>\n<p style=\"text-align: justify;\">Chargement de donn\u00e9es via AJAX, pour charger des donn\u00e9es depuis le serveur sans recharger la page<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\nfunction fetchData() {\r\n    \/\/ Voici votre code pour la requ\u00eate AJAX\r\n}\r\n&lt;onclick=&quot;fetchData()&quot;&gt;T\u00e9l\u00e9charger les donn\u00e9es&lt;\/button&gt;\r\n<\/pre>\n<p style=\"text-align: justify;\">Changer le nom du lien de On \u00e0 Off<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;script&gt;\r\n\/\/nous attendons que la page soit compl\u00e8tement charg\u00e9e\r\nwindow.onload = function () {\r\n\r\n    \/\/obtenir l'identifiant de l'\u00e9l\u00e9ment\r\n    var a = document.getElementById('switch');\r\n    \r\n    \/\/nous y accrochons un \u00e9v\u00e9nement\r\n    a.onclick = function() {\r\n        \/\/nous effectuons certaines actions\r\n        if (this.innerHTML=='On') this.innerHTML = 'Off';\r\n        else this.innerHTML = 'On';\r\n        \/\/Emp\u00eacher les clics sur les liens href\r\n        return false;\r\n    }\r\n}\r\n&lt;\/script&gt;\r\n&lt;a id=&quot;switch&quot; href=&quot;#&quot;&gt;On&lt;\/a&gt;\r\n<\/pre>\n<h2><span style=\"color: #008000;\">onabort<\/span><\/h2>\n<p style=\"text-align: justify;\">\u2013 interruption de la lecture. L&rsquo;\u00e9v\u00e9nement onabort se produit lorsque le chargement de l&rsquo;audio ou de la vid\u00e9o est interrompu. L&rsquo;\u00e9v\u00e9nement onabort se produit uniquement lorsqu&rsquo;un t\u00e9l\u00e9chargement est interrompu, et non lorsqu&rsquo;une erreur se produit. S&rsquo;applique aux \u00e9l\u00e9ments audio, embed, img, object, video.<\/p>\n<p style=\"text-align: justify;\">Notification indiquant que le t\u00e9l\u00e9chargement de la vid\u00e9o a \u00e9t\u00e9 interrompu<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;video id=&quot;myVideo&quot; onabort=&quot;alert('Video load aborted')&quot;&gt;\r\n<\/pre>\n<p style=\"text-align: justify;\">Alerte indiquant que le chargement de l&rsquo;image a \u00e9t\u00e9 interrompu<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;img id=&quot;myImage&quot; src=&quot;example.jpg&quot; onabort=&quot;imageAborted()&quot;&gt;\r\n&lt;script&gt;\r\n    function imageAborted() {\r\n        alert(&quot;Image load was aborted by the user.&quot;);\r\n    }\r\n&lt;\/script&gt;\r\n<\/pre>\n<p style=\"text-align: justify;\">Notification indiquant que la soumission du formulaire a \u00e9t\u00e9 interrompue<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;form id=&quot;myForm&quot;&gt;\r\n    &lt;input type=&quot;text&quot; placeholder=&quot;Enter your name&quot;&gt;\r\n    &lt;input type=&quot;submit&quot; value=&quot;Submit&quot;&gt;\r\n&lt;\/form&gt;\r\n&lt;script&gt;\r\n    var form = document.getElementById(&quot;myForm&quot;);\r\n    form.addEventListener(&quot;abort&quot;, formAborted);\r\n\r\n    function formAborted() {\r\n        alert(&quot;Form submission was aborted by the user.&quot;);\r\n    }\r\n&lt;\/script&gt;\r\n<\/pre>\n<h2><span style=\"color: #008000;\">onafterprint \u2013 impression termin\u00e9e<\/span><\/h2>\n<p style=\"text-align: justify;\">L&rsquo;\u00e9v\u00e9nement onafterprint se produit lorsqu&rsquo;une page commence \u00e0 s&rsquo;imprimer. L&rsquo;\u00e9v\u00e9nement onafterprint se produit lorsque la bo\u00eete de dialogue d&rsquo;impression se ferme. Le navigateur s&rsquo;ex\u00e9cute sur afterprint et onbeforeprint afin que des notes, des explications et des commentaires puissent \u00eatre ajout\u00e9s au processus d&rsquo;impression. Applicable pour body.<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;body onafterprint=&quot;myFunction()&quot;&gt;\r\n<\/pre>\n<h2><span style=\"color: #008000;\">onautocomplete \u2013 formulaire de remplissage automatique compl\u00e9t\u00e9<\/span><\/h2>\n<p style=\"text-align: justify;\">Un attribut qui vous permet de remplir un formulaire en un clic &#8211; le navigateur ins\u00e9rera des valeurs dans les champs correspondants.<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;form&gt;\r\n  &lt;label for=&quot;name&quot;&gt;Nom:&lt;\/label&gt;\r\n  &lt;input type=&quot;text&quot; id=&quot;name&quot; name=&quot;name&quot; autocomplete=&quot;on&quot;&gt;\r\n&lt;\/form&gt;\r\n<\/pre>\n<h2><span style=\"color: #008000;\">onautocompleteerror \u2013 erreur lors du remplissage automatique du formulaire<\/span><\/h2>\n<h2><span style=\"color: #008000;\">onbeforeprint \u2013 pr\u00e9paration \u00e0 l&rsquo;impression<\/span><\/h2>\n<h2><span style=\"color: #008000;\">onbeforeunload &#8211; document t\u00e9l\u00e9charg\u00e9<\/span><\/h2>\n<p style=\"text-align: justify;\">Lorsqu&rsquo;un utilisateur quitte une page, nous pouvons lui demander s&rsquo;il souhaite vraiment partir. La gestion des \u00e9v\u00e9nements beforeunload est responsable de cela. L&rsquo;\u00e9v\u00e9nement se produit avant l&rsquo;\u00e9v\u00e9nement de d\u00e9chargement de la page unload. Cet \u00e9v\u00e9nement permet \u00e0 une page Web de d\u00e9clencher une bo\u00eete de dialogue de confirmation demandant \u00e0 l&rsquo;utilisateur s&rsquo;il souhaite vraiment quitter la page. Si l&rsquo;utilisateur confirme, le navigateur navigue vers une nouvelle page, sinon il annule la navigation. Selon la sp\u00e9cification, pour afficher une bo\u00eete de dialogue de confirmation, le gestionnaire d&rsquo;\u00e9v\u00e9nements doit appeler preventDefault() sur l&rsquo;\u00e9v\u00e9nement. Applicable pour body.<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;body onbeforeunload=&quot;return myFunction()&quot;&gt;\r\n&lt;script&gt;\r\nfunction myFunction() {\r\n  return &quot;\u00cates-vous s\u00fbr de vouloir fermer cette page?...&quot;;\r\n}\r\n&lt;\/script&gt;\r\n<\/pre>\n<h2><span style=\"color: #008000;\">onblur \u2013 perte de concentration<\/span><\/h2>\n<p style=\"text-align: justify;\">L&rsquo;\u00e9v\u00e9nement de focus est appel\u00e9 au moment de la mise au point, et blur \u2013 lorsque l&rsquo;\u00e9l\u00e9ment perd le focus. soutien focus\/blur garanti pour les \u00e9l\u00e9ments avec lesquels le visiteur peut interagir: button, input, select, a etc. D&rsquo;autre part, les \u00e9l\u00e9ments de formatage div, span, table \u2013 ne peut pas recevoir le focus par d\u00e9faut. La m\u00e9thode elem.focus() ne fonctionne pas pour eux, et les \u00e9v\u00e9nements focus\/blur ne travaille jamais. Cela peut \u00eatre modifi\u00e9 avec un attribut HTML tabindex.<\/p>\n<p style=\"text-align: justify;\">Validation (v\u00e9rification) des donn\u00e9es saisies avec l&rsquo;inscription sous le formulaire<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;style&gt;\r\n  .invalid { border-color: red; }\r\n  #error { color: red }\r\n&lt;\/style&gt;\r\n&lt;script&gt;\r\ninput.onblur = function() {\r\n  if (!input.value.includes('@')) { \/\/ \u043d\u0435 email\r\n    input.classList.add('invalid');\r\n    error.innerHTML = 'Veuillez saisir une adresse e-mail valide.'\r\n  }\r\n};\r\ninput.onfocus = function() {\r\n  if (this.classList.contains('invalid')) {\r\n    \/\/ nous supprimons l'indicateur d'erreur, car l'utilisateur souhaite ressaisir les donn\u00e9es\r\n    this.classList.remove('invalid');\r\n    error.innerHTML = &quot;&quot;;\r\n  }\r\n};\r\n&lt;\/script&gt;\r\n\u0412\u0430\u0448 email: &lt;input type=&quot;email&quot; id=&quot;input&quot;&gt;\r\n&lt;div id=&quot;error&quot;&gt;&lt;\/div&gt;\r\n<\/pre>\n<p style=\"text-align: justify;\">Validation (v\u00e9rification) des donn\u00e9es saisies avec remplissage en couleur du formulaire<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;style&gt;\r\n  .error {\r\n    background: red;\r\n  }\r\n&lt;\/style&gt;\r\n&lt;script&gt;\r\n  input.onblur = function() {\r\n    if (!this.value.includes('@')) { \/\/ pas d'e-mail\r\n      \/\/ afficher l'erreur\r\n      this.classList.add(&quot;error&quot;);\r\n      \/\/ ...et revenez au focus\r\n      input.focus();\r\n    } else {\r\n      this.classList.remove(&quot;error&quot;);\r\n    }\r\n  };\r\n&lt;\/script&gt;\r\nVotre email: &lt;input type=&quot;email&quot; id=&quot;input&quot;&gt;\r\n&lt;input type=&quot;text&quot; style=&quot;width:280px&quot; placeholder=&quot;entrez une adresse e-mail invalide et cliquez ici&quot;&gt;\r\n<\/pre>\n<p style=\"text-align: justify;\">Modification du texte du formulaire CLICK HERE<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;input type=&quot;text&quot; value=&quot;CLICK HERE&quot; \/&gt;\r\n&lt;script&gt;\r\nlet input = document.querySelector(&quot;input&quot;);\r\ninput.onblur = inputBlur;\r\ninput.onfocus = inputFocus;\r\nfunction inputBlur() {\r\n  input.value = &quot;Focus has been lost&quot;;\r\n}\r\nfunction inputFocus() {\r\n  input.value = &quot;Focus is here&quot;;\r\n}\r\n&lt;\/script&gt;\r\n<\/pre>\n<p style=\"text-align: justify;\">V\u00e9rification de la forme avec un contour de cadre<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;!DOCTYPE html&gt;\r\n&lt;html lang=&quot;ru&quot;&gt;\r\n &lt;head&gt;\r\n  &lt;meta charset=&quot;utf-8&quot;&gt;\r\n  &lt;title&gt;\u00c9v\u00e9nement onblur&lt;\/title&gt;\r\n  &lt;style&gt;\r\n   .warning {\r\n    background-color: #ffe;\r\n    outline: 1px solid #dc143c;\r\n   }\r\n  &lt;\/style&gt;\r\n  &lt;script&gt;\r\n   function warning(field) {\r\n    if (field.value == '') field.classList.add('warning');\r\n    else field.classList.remove('warning');\r\n   }\r\n  &lt;\/script&gt;\r\n &lt;\/head&gt; \r\n &lt;body&gt;\r\n  &lt;form&gt; \r\n   &lt;p&gt;&lt;input placeholder=&quot;Nom&quot; onblur=&quot;warning(this)&quot;&gt;&lt;\/p&gt;\r\n   &lt;p&gt;&lt;input placeholder=&quot;Nom de famille&quot; onblur=&quot;warning(this)&quot;&gt;&lt;\/p&gt;\r\n   &lt;p&gt;&lt;input placeholder=&quot;Adresse&quot; onblur=&quot;warning(this)&quot;&gt;&lt;\/p&gt;\r\n  &lt;\/form&gt;\r\n &lt;\/body&gt;\r\n&lt;\/html&gt;\r\n<\/pre>\n<p style=\"text-align: justify;\">\u00c9clairage de mise au point sans onblur<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;style&gt;\r\n*!*input:focus*\/!* {\r\n  background: #FA6;\r\n  outline: none;  \/* supprimer le cadre *\/\r\n}\r\n&lt;\/style&gt;\r\n&lt;input type=&quot;text&quot;&gt;\r\n&lt;p&gt;S\u00e9lecteur focus mettra en \u00e9vidence l'\u00e9l\u00e9ment lorsque vous vous concentrez dessus et supprimera la bordure que le navigateur utilise pour mettre en \u00e9vidence l'\u00e9l\u00e9ment par d\u00e9faut.&lt;\/p&gt;\r\n<\/pre>\n<p style=\"text-align: justify;\">Espace r\u00e9serv\u00e9 &#8211; une valeur d&rsquo;indice \u00e0 l&rsquo;int\u00e9rieur de INPUT qui dispara\u00eet automatiquement lorsqu&rsquo;elle est focalis\u00e9e et existe jusqu&rsquo;\u00e0 ce que le visiteur commence \u00e0 taper, sans onblur<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;style&gt;\r\n.my*!*::-webkit-input-placeholder*\/!* {\r\n  color: red;\r\n  font-style: italic;\r\n}\r\n.my*!*::-moz-input-placeholder*\/!* {\r\n  color: red;\r\n  font-style: italic;\r\n}\r\n.my*!*::-ms-input-placeholder*\/!* {\r\n  color: red;\r\n  font-style: italic;\r\n}\r\n&lt;\/style&gt;\r\n&lt;input class=&quot;my&quot; type=&quot;text&quot; placeholder=&quot;E-mail&quot;&gt;\r\n<\/pre>\n<h2><span style=\"color: #008000;\">oncancel \u2013 annuler l&rsquo;action<\/span><\/h2>\n<p style=\"text-align: justify;\">Annuler l&rsquo;op\u00e9ration en cours sur l&rsquo;appareil. Utilis\u00e9 pour le contr\u00f4le asynchrone de l&rsquo;appareil. Si vous ex\u00e9cutez cette fonction avant le d\u00e9but d\u2019une op\u00e9ration, l\u2019op\u00e9ration sera annul\u00e9e.<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\nDevice.Cancel ();\r\n<\/pre>\n<h2><span style=\"color: #008000;\">oncanplay<\/span><\/h2>\n<p style=\"text-align: justify;\">&#8211; vous pouvez commencer \u00e0 lire le fichier multim\u00e9dia sp\u00e9cifi\u00e9<\/p>\n<p style=\"text-align: justify;\">L&rsquo;\u00e9v\u00e9nement oncanplay se produit lorsque le navigateur peut commencer \u00e0 lire l&rsquo;audio\/vid\u00e9o sp\u00e9cifi\u00e9 (lorsqu&rsquo;il est suffisamment mis en m\u00e9moire tampon pour d\u00e9marrer). Pendant le processus de chargement audio\/vid\u00e9o, les \u00e9v\u00e9nements suivants se produisent dans cet ordre: onloadstart, ondurationchange, onloadedmetadata, onloadeddata, onprogress, oncanplay, oncanplaythrough<\/p>\n<p style=\"text-align: justify;\">Ex\u00e9cutez JavaScript lorsque la vid\u00e9o est pr\u00eate \u00e0 \u00eatre lue:<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;video oncanplay=&quot;myFunction()&quot;&gt;\r\n<\/pre>\n<h2><span style=\"color: #008000;\">oncanplaythrough<\/span><\/h2>\n<p style=\"text-align: justify;\">&#8211; Vous pouvez d\u00e9marrer la lecture du fichier multim\u00e9dia sp\u00e9cifi\u00e9 sans avoir \u00e0 l&rsquo;arr\u00eater pour la mise en m\u00e9moire tampon. L&rsquo;\u00e9v\u00e9nement oncanplaythrough se produit lorsque le navigateur \u00e9value qu&rsquo;il peut lire le m\u00e9dia sp\u00e9cifi\u00e9 sans avoir \u00e0 s&rsquo;arr\u00eater pour la mise en m\u00e9moire tampon.<\/p>\n<p style=\"text-align: justify;\">Ex\u00e9cuter JavaScript lorsque la vid\u00e9o peut \u00eatre lue dans son int\u00e9gralit\u00e9 sans pause:<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;video oncanplaythrough=&quot;myFunction()&quot;&gt;\r\n<\/pre>\n<h2><span style=\"color: #008000;\">onchange \u2013 changer la valeur<\/span><\/h2>\n<p style=\"text-align: justify;\">L&rsquo;\u00e9v\u00e9nement onchange se produit lorsque la valeur d&rsquo;un \u00e9l\u00e9ment a chang\u00e9. Pour les boutons radio et les cases \u00e0 cocher, l&rsquo;\u00e9v\u00e9nement onchange se produit lorsque l&rsquo;\u00e9tat change checked. Cet \u00e9v\u00e9nement est similaire \u00e0 l&rsquo;\u00e9v\u00e9nement oninput. La diff\u00e9rence est que l&rsquo;\u00e9v\u00e9nement oninput se produit imm\u00e9diatement apr\u00e8s que la valeur de l&rsquo;\u00e9l\u00e9ment change, tandis que onchange se produit lorsque l&rsquo;\u00e9l\u00e9ment perd le focus, apr\u00e8s que le contenu a chang\u00e9. Une autre diff\u00e9rence est que l&rsquo;\u00e9v\u00e9nement onchange fonctionne \u00e9galement sur l&rsquo;\u00e9l\u00e9ment select. Un gestionnaire d&rsquo;\u00e9v\u00e9nements onchange qui se d\u00e9clenche lorsque la valeur de l&rsquo;\u00e9l\u00e9ment a chang\u00e9 et qu&rsquo;il perd le focus. Pour les objets AudioTrackList, VideoTrackList et TextTrackList, cet \u00e9v\u00e9nement se produit lorsqu&rsquo;une ou plusieurs pistes sont activ\u00e9es\/d\u00e9sactiv\u00e9es. Ex\u00e9cute le code JavaScript lorsqu&rsquo;un \u00e9v\u00e9nement se produit change; c&rsquo;est-\u00e0-dire si le champ Select, Text ou Textarea perd sa concentration et sa valeur a \u00e9t\u00e9 modifi\u00e9e.<\/p>\n<p style=\"text-align: justify;\">type &#8211; Indique le type d&rsquo;\u00e9v\u00e9nement.<br \/>\ntarget &#8211; Sp\u00e9cifie l&rsquo;objet auquel l&rsquo;\u00e9v\u00e9nement a \u00e9t\u00e9 envoy\u00e9 \u00e0 l&rsquo;origine<\/p>\n<p style=\"text-align: justify;\">Ex\u00e9cuter un JavaScript lorsque l&rsquo;utilisateur modifie l&rsquo;option s\u00e9lectionn\u00e9e d&rsquo;un \u00e9l\u00e9ment select:<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;select onchange=&quot;myFunction()&quot;&gt;\r\n<\/pre>\n<p style=\"text-align: justify;\">Ici, userName est un champ de texte. Si l&rsquo;utilisateur modifie le texte et quitte le champ, le gestionnaire onChange appelle la fonction checkValue pour garantir que la valeur est correcte userName:<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;INPUT TYPE=&quot;text&quot; VALUE=&quot;&quot; NAME=&quot;userName&quot; onChange=&quot;checkValue(this.value)&quot;&gt;\r\n<\/pre>\n<h2><span style=\"color: #008000;\">onclose \u2013 fermer quelque chose<\/span><\/h2>\n<p style=\"text-align: justify;\">Gestionnaire d&rsquo;\u00e9v\u00e9nements pour les \u00e9v\u00e9nements de fermeture, envoy\u00e9 \u00e0 la fen\u00eatre. L&rsquo;\u00e9v\u00e9nement OnClose se produit lorsque la bo\u00eete de dialogue est ferm\u00e9e. Vous pouvez cr\u00e9er un gestionnaire d\u2019\u00e9v\u00e9nements pour l\u2019\u00e9v\u00e9nement OnClose afin d\u2019effectuer des actions sp\u00e9cifiques lorsque la bo\u00eete de dialogue se ferme. Gestionnaire d&rsquo;\u00e9v\u00e9nements close, qui est appel\u00e9 sur les \u00e9l\u00e9ments de dialogue lorsqu&rsquo;ils sont ferm\u00e9s, et \u00e9galement sur les \u00e9l\u00e9ments WebSocket lorsque la connexion est termin\u00e9e.<\/p>\n<h2><span style=\"color: #008000;\">oncontextmenu \u2013 ouvrir le menu contextuel<\/span><\/h2>\n<p style=\"text-align: justify;\">L&rsquo;\u00e9v\u00e9nement oncontextmenu se produit lorsque l&rsquo;utilisateur clique avec le bouton droit sur un \u00e9l\u00e9ment HTML pour ouvrir un menu contextuel. Propri\u00e9t\u00e9 du gestionnaire d&rsquo;\u00e9v\u00e9nements pour l&rsquo;\u00e9v\u00e9nement de clic droit de la souris \u00e0 l&rsquo;int\u00e9rieur de l&rsquo;\u00e9l\u00e9ment window. Si le comportement par d\u00e9faut n&rsquo;est pas emp\u00each\u00e9, le menu contextuel du navigateur sera activ\u00e9 (IE8 a un bug o\u00f9 le menu contextuel ne sera pas activ\u00e9 si le gestionnaire d&rsquo;\u00e9v\u00e9nements contextmenu est d\u00e9fini). L&rsquo;\u00e9v\u00e9nement aura lieu en m\u00eame temps que d&rsquo;autres \u00e9v\u00e9nements right-click et ne d\u00e9pend pas de l&rsquo;attribut \u00abcontextmenu\u00bb de l&rsquo;\u00e9l\u00e9ment.<\/p>\n<p style=\"text-align: justify;\">Ex\u00e9cuter JavaScript lorsque l&rsquo;utilisateur clique avec le bouton droit sur div avec le menu contextuel:<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;div oncontextmenu=&quot;myFunction()&quot; contextmenu=&quot;mymenu&quot;&gt;\r\n<\/pre>\n<p style=\"text-align: justify;\">Le code de cet exemple modifie le comportement par d\u00e9faut du navigateur en d\u00e9sactivant le clic droit.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\ndocument.oncontextmenu = function () {\r\n  \/\/ Utiliser un objet &quot;document&quot; au lieu de &quot;window&quot; pour la compatibilit\u00e9 avec IE8.\r\n  return false;\r\n};\r\nwindow.addEventListener(\r\n  &quot;contextmenu&quot;,\r\n  function (e) {\r\n    \/\/ Non compatible avec IE inf\u00e9rieur \u00e0 la version 9\r\n    e.preventDefault();\r\n  },\r\n  false,\r\n);\r\n<\/pre>\n<h2><span style=\"color: #008000;\">oncopy \u2013 copie effectu\u00e9e<\/span><\/h2>\n<p style=\"text-align: justify;\">L&rsquo;\u00e9v\u00e9nement oncopy se produit lorsque l&rsquo;utilisateur copie le contenu d&rsquo;un \u00e9l\u00e9ment. L&rsquo;\u00e9v\u00e9nement oncopy se d\u00e9clenche \u00e9galement lorsque l&rsquo;utilisateur copie un \u00e9l\u00e9ment, tel qu&rsquo;une image cr\u00e9\u00e9e avec l&rsquo;\u00e9l\u00e9ment img. L&rsquo;\u00e9v\u00e9nement oncopy est principalement utilis\u00e9 pour les \u00e9l\u00e9ments \u00ab\u00a0input\u00a0\u00bb avec type=\u00a0\u00bbtext\u00a0\u00bb. D\u00e9clench\u00e9 lors de l&rsquo;insertion\/copie\/suppression de texte. Si vous annulez l&rsquo;action du navigateur dans leurs gestionnaires, le collage\/copie\/suppression ne se produira pas. La valeur ins\u00e9r\u00e9e ne peut pas \u00eatre r\u00e9cup\u00e9r\u00e9e : au moment o\u00f9 l\u2019\u00e9v\u00e9nement est d\u00e9clench\u00e9, l\u2019\u00e9l\u00e9ment a toujours l\u2019ancienne valeur et la nouvelle n\u2019est pas disponible.<\/p>\n<p style=\"text-align: justify;\">Ex\u00e9cuter JavaScript lorsqu&rsquo;un texte d&rsquo;\u00e9l\u00e9ment est copi\u00e9 input:<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;input type=&quot;text&quot; oncopy=&quot;myFunction()&quot; value=&quot;Essayez de copier ce texte&quot;&gt;\r\n<\/pre>\n<h2><span style=\"color: #008000;\">oncuechange &#8211; changer l&rsquo;\u00e9tiquette dans l&rsquo;\u00e9l\u00e9ment track<\/span><\/h2>\n<p style=\"text-align: justify;\">Gestionnaire de l&rsquo;\u00e9v\u00e9nement cuechange qui se d\u00e9clenche lorsque l&rsquo;\u00e9l\u00e9ment TextTrack modifie les rep\u00e8res actuellement affich\u00e9s.<\/p>\n<h2><span style=\"color: #008000;\">oncut \u2013 suppression du contenu termin\u00e9e<\/span><\/h2>\n<p style=\"text-align: justify;\">L&rsquo;\u00e9v\u00e9nement oncut se produit lorsque l&rsquo;utilisateur coupe le contenu d&rsquo;un \u00e9l\u00e9ment. Bien que l&rsquo;\u00e9v\u00e9nement oncut soit pris en charge par tous les \u00e9l\u00e9ments HTML, il n&rsquo;est pas r\u00e9ellement possible de couper le contenu, par exemple, d&rsquo;un \u00e9l\u00e9ment p, \u00c0 MOINS que l&rsquo;\u00e9l\u00e9ment n&rsquo;ait d\u00e9fini contenteditable sur \u00ab\u00a0true\u00a0\u00bb. L&rsquo;\u00e9v\u00e9nement oncut est principalement utilis\u00e9 pour les \u00e9l\u00e9ments input avec type=\u00a0\u00bbtext\u00a0\u00bb.<\/p>\n<p style=\"text-align: justify;\">Ex\u00e9cuter JavaScript lorsqu&rsquo;une partie du texte d&rsquo;un \u00e9l\u00e9ment est coup\u00e9e input:<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;input type=&quot;text&quot; oncut=&quot;myFunction()&quot; value=&quot;Essayez de raccourcir ce texte&quot;&gt;\r\n<\/pre>\n<h2><span style=\"color: #008000;\">ondblclick \u2013 double-cliquez sur l&rsquo;\u00e9l\u00e9ment<\/span><\/h2>\n<p style=\"text-align: justify;\">Gestionnaire pour l&rsquo;\u00e9v\u00e9nement dblclick, qui se produit lorsque le bouton gauche de la souris est double-cliqu\u00e9. L&rsquo;\u00e9v\u00e9nement ondblclick se produit lorsque l&rsquo;utilisateur double-clique sur un \u00e9l\u00e9ment HTML; c&rsquo;est-\u00e0-dire lorsque l&rsquo;utilisateur double-clique sur un \u00e9l\u00e9ment de formulaire ou un lien hypertexte.<\/p>\n<p style=\"text-align: justify;\">type &#8211; Indique le type d&rsquo;\u00e9v\u00e9nement.<br \/> <br \/>\ntarget &#8211; Sp\u00e9cifie l&rsquo;objet auquel l&rsquo;\u00e9v\u00e9nement a \u00e9t\u00e9 initialement envoy\u00e9.<br \/> <br \/>\nlayerX, layerY, pageX, pageY, screenX, screenY &#8211; Repr\u00e9sente l&#8217;emplacement du curseur lorsque l&rsquo;\u00e9v\u00e9nement se produit.<br \/> <br \/>\nwhich &#8211; Repr\u00e9sente 1 pour le clic gauche de la souris et 3 pour le clic droit de la souris.<br \/> <br \/>\nmodifiers &#8211; Contient une liste des touches de modification enfonc\u00e9es lorsque l&rsquo;\u00e9v\u00e9nement s&rsquo;est produit.<\/p>\n<p style=\"text-align: justify;\">Ex\u00e9cuter JavaScript lorsque l&rsquo;\u00e9l\u00e9ment p est double-cliqu\u00e9:<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;p ondblclick=&quot;myFunction()&quot;&gt;Double-cliquez sur moi&lt;\/p&gt;\r\n<\/pre>\n<p style=\"text-align: justify;\">Voici le dialogue alert s&rsquo;affiche si l&rsquo;utilisateur double-clique sur le bouton:<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;form&gt;\r\n&lt;INPUT Type=&quot;button&quot; Value=&quot;Double Click Me!&quot; onDblClick=&quot;alert('You just double clicked me!')&quot;&gt;\r\n&lt;\/form&gt;\r\n<\/pre>\n<h2><span style=\"color: #008000;\">ondrag &#8211; glisser-d\u00e9poser l&rsquo;\u00e9l\u00e9ment<\/span><\/h2>\n<p style=\"text-align: justify;\">L&rsquo;\u00e9v\u00e9nement ondrag se produit lorsqu&rsquo;un \u00e9l\u00e9ment ou un texte s\u00e9lectionn\u00e9 est d\u00e9plac\u00e9. Le glisser-d\u00e9poser est une fonctionnalit\u00e9 tr\u00e8s courante dans HTML5. C&rsquo;est lorsque vous \u00absaisissez\u00bb un objet et le faites glisser vers un autre emplacement.<\/p>\n<p style=\"text-align: justify;\">type &#8211; Indique le type d&rsquo;\u00e9v\u00e9nement.<br \/>\ntarget &#8211; Sp\u00e9cifie l&rsquo;objet auquel l&rsquo;\u00e9v\u00e9nement a \u00e9t\u00e9 initialement envoy\u00e9.<br \/>\ndata &#8211; Renvoie un tableau de cha\u00eenes contenant les URL des objets publi\u00e9s.<br \/>\nmodifiers &#8211; Contient une liste de touches de modification enfonc\u00e9es lorsque l&rsquo;\u00e9v\u00e9nement s&rsquo;est produit.<br \/>\nscreenX, screenY &#8211; Repr\u00e9sente l&#8217;emplacement du curseur lorsque l&rsquo;\u00e9v\u00e9nement se produit.<\/p>\n<p style=\"text-align: justify;\">Ex\u00e9cuter JavaScript lorsque l&rsquo;\u00e9l\u00e9ment p est d\u00e9plac\u00e9:<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;p draggable=&quot;true&quot; ondrag=&quot;myFunction(event)&quot;&gt;Tra\u00eene-moi!&lt;\/p&gt;\r\n<\/pre>\n<h2><span style=\"color: #008000;\">ondragend &#8211; glisser-d\u00e9poser de l&rsquo;\u00e9l\u00e9ment termin\u00e9<\/span><\/h2>\n<p style=\"text-align: justify;\">L&rsquo;\u00e9v\u00e9nement ondragend se produit lorsque l&rsquo;utilisateur a fini de faire glisser un \u00e9l\u00e9ment ou de s\u00e9lectionner du texte.<\/p>\n<p style=\"text-align: justify;\">Ex\u00e9cutez un JavaScript lorsque l&rsquo;utilisateur a fini de faire glisser l&rsquo;\u00e9l\u00e9ment p:<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;p draggable=&quot;true&quot; ondragend=&quot;myFunction(event)&quot;&gt;Tra\u00eene-moi!&lt;\/p&gt;\r\n<\/pre>\n<h2><span style=\"color: #008000;\">ondragenter<\/span><\/h2>\n<p style=\"text-align: justify;\">&#8211; l&rsquo;\u00e9l\u00e9ment est gliss\u00e9 dans une zone cible valide. L&rsquo;\u00e9v\u00e9nement ondragenter se produit lorsqu&rsquo;un \u00e9l\u00e9ment gliss\u00e9 ou un texte s\u00e9lectionn\u00e9 entre dans une cible de d\u00e9p\u00f4t valide. Les \u00e9v\u00e9nements ondragenter et ondragleave peuvent aider l&rsquo;utilisateur \u00e0 comprendre que l&rsquo;\u00e9l\u00e9ment d\u00e9plac\u00e9 est sur le point d&rsquo;entrer ou de quitter la cible de d\u00e9p\u00f4t. Cela peut \u00eatre fait, par exemple, en d\u00e9finissant la couleur d&rsquo;arri\u00e8re-plan lorsque l&rsquo;\u00e9l\u00e9ment d\u00e9plac\u00e9 entre dans la cible de d\u00e9p\u00f4t et en supprimant la couleur lorsque l&rsquo;\u00e9l\u00e9ment s&rsquo;\u00e9loigne de la cible.<\/p>\n<p style=\"text-align: justify;\">Ex\u00e9cuter JavaScript lorsqu&rsquo;un \u00e9l\u00e9ment d\u00e9pla\u00e7able entre dans la cible de d\u00e9p\u00f4t:<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;div ondragenter=&quot;myFunction(event)&quot;&gt;&lt;\/div&gt;\r\n<\/pre>\n<h2><span style=\"color: #008000;\">ondragexit<\/span><\/h2>\n<p style=\"text-align: justify;\">\u2013 quitter le mode glisser-d\u00e9poser. Gestionnaire de l&rsquo;\u00e9v\u00e9nement dragexit qui se produit lorsque l&rsquo;\u00e9l\u00e9ment n&rsquo;est plus la cible d&rsquo;un \u00e9l\u00e9ment qui peut l&rsquo;accepter.<\/p>\n<h2><span style=\"color: #008000;\">ondragleave<\/span><\/h2>\n<p style=\"text-align: justify;\">&#8211; l&rsquo;\u00e9l\u00e9ment quitte une cible valide. L&rsquo;\u00e9v\u00e9nement ondragleave se produit lorsqu&rsquo;un \u00e9l\u00e9ment gliss\u00e9 ou une s\u00e9lection de texte quitte une cible de d\u00e9p\u00f4t valide.<\/p>\n<p style=\"text-align: justify;\">Ex\u00e9cuter JavaScript lorsqu&rsquo;un \u00e9l\u00e9ment gliss\u00e9 sort de la cible de d\u00e9p\u00f4t:<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;div ondragleave=&quot;myFunction(event)&quot;&gt;&lt;\/div&gt;\r\n<\/pre>\n<h2><span style=\"color: #008000;\">ondragover<\/span><\/h2>\n<p style=\"text-align: justify;\">&#8211; l&rsquo;\u00e9l\u00e9ment est d\u00e9plac\u00e9 vers un point cible valide. L&rsquo;\u00e9v\u00e9nement ondragover se produit lorsqu&rsquo;un \u00e9l\u00e9ment d\u00e9pla\u00e7able ou un texte s\u00e9lectionn\u00e9 est gliss\u00e9 sur une cible de d\u00e9p\u00f4t valide. Par d\u00e9faut, les donn\u00e9es\/\u00e9l\u00e9ments ne peuvent pas \u00eatre supprim\u00e9s d\u2019autres \u00e9l\u00e9ments. Pour permettre la suppression, nous devons d\u00e9sactiver la gestion par d\u00e9faut de l&rsquo;\u00e9l\u00e9ment. Cela se fait en appelant la m\u00e9thode event.preventDefault() sur l&rsquo;\u00e9v\u00e9nement ondragover.<\/p>\n<p style=\"text-align: justify;\">Ex\u00e9cuter JavaScript lorsqu&rsquo;un \u00e9l\u00e9ment est gliss\u00e9 sur une cible de d\u00e9p\u00f4t:<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;div ondragover=&quot;myFunction(event)&quot;&gt;&lt;\/div&gt;\r\n<\/pre>\n<h2><span style=\"color: #008000;\">ondragstart<\/span><\/h2>\n<p style=\"text-align: justify;\">\u2013 d\u00e9but de l&rsquo;op\u00e9ration glisser-d\u00e9poser. L&rsquo;\u00e9v\u00e9nement ondragstart se produit lorsque l&rsquo;utilisateur commence \u00e0 faire glisser un \u00e9l\u00e9ment ou un texte s\u00e9lectionn\u00e9.<\/p>\n<p style=\"text-align: justify;\">Ex\u00e9cuter JavaScript lorsque l&rsquo;utilisateur commence \u00e0 faire glisser l&rsquo;\u00e9l\u00e9ment p:<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;p draggable=&quot;true&quot; ondragstart=&quot;myFunction(event)&quot;&gt;Tra\u00eene-moi!&lt;\/p&gt;\r\n<\/pre>\n<h2><span style=\"color: #008000;\">ondrop<\/span><\/h2>\n<p style=\"text-align: justify;\">\u2013 L&rsquo;\u00e9l\u00e9ment d\u00e9plac\u00e9 est rel\u00e2ch\u00e9. L&rsquo;\u00e9v\u00e9nement ondrop se produit lorsqu&rsquo;un \u00e9l\u00e9ment gliss\u00e9 ou un texte s\u00e9lectionn\u00e9 est d\u00e9pos\u00e9 sur une cible de d\u00e9p\u00f4t valide.<\/p>\n<p style=\"text-align: justify;\">Ex\u00e9cuter JavaScript lorsqu&rsquo;un \u00e9l\u00e9ment d\u00e9pla\u00e7able est d\u00e9pos\u00e9 dans un div:<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;div ondrop=&quot;myFunction(event)&quot;&gt;&lt;\/div&gt;\r\n<\/pre>\n<h2><span style=\"color: #008000;\">ondurationchange<\/span><\/h2>\n<p style=\"text-align: justify;\">&#8211; changement de longueur du support. L&rsquo;\u00e9v\u00e9nement ondurationchange est d\u00e9clench\u00e9 lorsque la dur\u00e9e de l&rsquo;audio\/vid\u00e9o change. Lors du chargement de l&rsquo;audio\/vid\u00e9o, la dur\u00e9e passera de \u00abNaN\u00bb \u00e0 la dur\u00e9e r\u00e9elle de l&rsquo;audio\/vid\u00e9o. Pendant le processus de chargement audio\/vid\u00e9o, les \u00e9v\u00e9nements suivants se produisent dans cet ordre: onloadstart, ondurationchange, onloadedmetadata, onloadeddata, onprogress, oncanplay, oncanplaythrough<\/p>\n<p style=\"text-align: justify;\">Ex\u00e9cuter JavaScript lorsque la dur\u00e9e de la vid\u00e9o change:<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;video ondurationchange=&quot;myFunction()&quot;&gt;\r\n<\/pre>\n<h2><span style=\"color: #008000;\">onemptied<\/span><\/h2>\n<p style=\"text-align: justify;\">\u2013 Le fichier est soudainement devenu indisponible. Gestionnaire de l&rsquo;\u00e9v\u00e9nement onemptied qui se produit lorsque la liste de lecture actuelle d&rsquo;un \u00e9l\u00e9ment audio ou vid\u00e9o est vide. Le plus souvent en raison d&rsquo;une panne de connexion.<\/p>\n<h2><span style=\"color: #008000;\">onended<\/span><\/h2>\n<p style=\"text-align: justify;\">\u2013 Lecture termin\u00e9e. L&rsquo;\u00e9v\u00e9nement onended termin\u00e9 se produit lorsque l&rsquo;audio\/vid\u00e9o atteint la fin. Cet \u00e9v\u00e9nement est utile pour les messages tels que \u00abmerci d&rsquo;avoir \u00e9cout\u00e9\u00bb, \u00abmerci d&rsquo;avoir regard\u00e9\u00bb, etc.<\/p>\n<p style=\"text-align: justify;\">Ex\u00e9cuter JavaScript \u00e0 la fin de l&rsquo;audio:<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;audio onended=&quot;myFunction()&quot;&gt;\r\n<\/pre>\n<h2><span style=\"color: #008000;\">onerror<\/span><\/h2>\n<p style=\"text-align: justify;\">\u2013 une erreur s&rsquo;est produite. L&rsquo;\u00e9v\u00e9nement onerror est d\u00e9clench\u00e9 lorsqu&rsquo;une erreur se produit lors du chargement d&rsquo;un fichier externe (tel qu&rsquo;un document ou une image). Lorsqu&rsquo;il est utilis\u00e9 sur des supports audio\/vid\u00e9o, les \u00e9v\u00e9nements associ\u00e9s qui se produisent en cas d&rsquo;interruption du processus de chargement du support sont les suivants: onabort, onemptied, onstalled, onsuspend.<\/p>\n<p style=\"text-align: justify;\">L&rsquo;\u00e9v\u00e9nement onerror se d\u00e9clenche uniquement lorsqu&rsquo;une erreur de syntaxe JavaScript ou une erreur d&rsquo;ex\u00e9cution se produit, et non lorsqu&rsquo;une erreur de navigateur se produit. Par exemple, si vous essayez de d\u00e9finir window.location.href=&rsquo;notThere.html&rsquo; et que le fichier notThere.html n&rsquo;existe pas, le message d&rsquo;erreur r\u00e9sultant sera le message du navigateur; par cons\u00e9quent, onError n&rsquo;attrapera pas ce message. Cependant, l&rsquo;\u00e9v\u00e9nement error sera inclus par une URL non valide dans la balise IMG ou des donn\u00e9es d&rsquo;image non valides.<\/p>\n<p style=\"text-align: justify;\">window.onerror s&rsquo;applique uniquement aux erreurs qui se produisent dans la fen\u00eatre contenant window.onerror, et non aux erreurs dans d&rsquo;autres fen\u00eatres.<\/p>\n<p style=\"text-align: justify;\">onError peut avoir les valeurs suivantes:<br \/>\n&#8211; null pour supprimer toutes les bo\u00eetes de dialogue d&rsquo;erreur JavaScript. D\u00e9finition de window.onerror sur null signifie que vos utilisateurs ne verront pas les erreurs JavaScript caus\u00e9es par votre code.<br \/>\n&#8211; Le nom de la fonction qui g\u00e8re les erreurs (les arguments sont le texte du message, l&rsquo;URL et le num\u00e9ro de ligne contenant l&rsquo;erreur). Pour supprimer la bo\u00eete de dialogue d&rsquo;erreur JavaScript standard, cette fonction doit renvoyer true. Voir l&rsquo;exemple 3 ci-dessous.<br \/>\n&#8211; Une variable ou une propri\u00e9t\u00e9 qui contient null ou une r\u00e9f\u00e9rence de fonction valide.<br \/>\nSi vous \u00e9crivez une fonction de gestion des erreurs, vous disposez de trois options pour signaler les erreurs :<br \/>\n&#8211; Suivre les erreurs, mais permettre leur signalement via une bo\u00eete de dialogue JavaScript standard (utiliser une fonction de gestion des erreurs qui renvoie false ou ne renvoie pas de valeur).<br \/>\n&#8211; Signaler les erreurs manuellement et d\u00e9sactiver la bo\u00eete de dialogue standard (utiliser la fonction de gestion des erreurs qui renvoie true).<br \/>\n&#8211; D\u00e9sactiver tous les messages d&rsquo;erreur (d\u00e9finir null dans le gestionnaire onError).<\/p>\n<p style=\"text-align: justify;\">type &#8211; Indique le type d&rsquo;\u00e9v\u00e9nement.<br \/>\ntarget &#8211; Sp\u00e9cifie l&rsquo;objet auquel l&rsquo;\u00e9v\u00e9nement a \u00e9t\u00e9 envoy\u00e9 \u00e0 l&rsquo;origine<\/p>\n<p style=\"text-align: justify;\">Ex\u00e9cuter JavaScript si une erreur se produit lors du chargement d&rsquo;une image:<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;img src=&quot;image.gif&quot; onerror=&quot;myFunction()&quot;&gt;\r\n<\/pre>\n<p style=\"text-align: justify;\">Exemple 1: Gestionnaire avec valeur Null. Dans cette balise IMG, le code onError=\u00a0\u00bbnull\u00a0\u00bb supprime les messages d&rsquo;erreur si une erreur se produit lors du chargement de l&rsquo;image.<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;IMG NAME=&quot;imageBad1&quot; SRC=&quot;corrupt.gif&quot; ALIGN=&quot;left&quot; BORDER=&quot;2&quot; onError=&quot;null&quot;&gt;\r\n<\/pre>\n<p style=\"text-align: justify;\">Exemple 2 : gestionnaire nul pour une fen\u00eatre. Le gestionnaire onError pour une fen\u00eatre ne peut pas \u00eatre exprim\u00e9 via HTML. Vous devez donc saisir tout ce qui est requis, en minuscules, dans la balise SCRIPT. Le code suivant attribue null gestionnaire onError pour la fen\u00eatre enti\u00e8re, pas seulement pour l&rsquo;objet Image. Cela supprime tous les messages d&rsquo;erreur JavaScript, y compris les messages pour l&rsquo;objet Image.<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;SCRIPT&gt;\r\nwindow.onerror=null\r\n&lt;\/SCRIPT&gt;\r\n&lt;IMG NAME=&quot;imageBad1&quot; SRC=&quot;corrupt.gif&quot; ALIGN=&quot;left&quot; BORDER=&quot;2&quot;&gt;\r\n<\/pre>\n<p style=\"text-align: justify;\">Cependant, si l&rsquo;objet Image poss\u00e8de son propre gestionnaire onError personnalis\u00e9, ce gestionnaire sera ex\u00e9cut\u00e9 lorsqu&rsquo;une erreur se produit avec l&rsquo;image. Cela se produit parce que window.onerror=null supprime les messages d&rsquo;erreur JavaScript, pas les gestionnaires onError.<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;SCRIPT&gt;\r\nwindow.onerror=null\r\nfunction myErrorFunc() {\r\n   alert(&quot;The image had a nasty error.&quot;)\r\n}\r\n&lt;\/SCRIPT&gt;\r\n&lt;IMG NAME=&quot;imageBad1&quot; SRC=&quot;corrupt.gif&quot; ALIGN=&quot;left&quot; BORDER=&quot;2&quot; onError=&quot;myErrorFunc()&quot;&gt;\r\n<\/pre>\n<p style=\"text-align: justify;\">Dans l&rsquo;exemple suivant, window.onerror=null supprime tous les messages d&rsquo;erreur. Sans onerror=null, le code provoquera une erreur de d\u00e9passement de pile car il y a une r\u00e9cursivit\u00e9 infinie.<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;SCRIPT&gt;\r\nwindow.onerror = null;\r\nfunction testErrorFunction() {\r\n   testErrorFunction();\r\n}\r\n&lt;\/SCRIPT&gt;\r\n&lt;BODY onload=&quot;testErrorFunction()&quot;&gt;\r\ntest message\r\n&lt;\/BODY&gt;\r\n<\/pre>\n<p style=\"text-align: justify;\">Exemple 3: Fonction de gestion des erreurs. Ici est d\u00e9finie une fonction myOnError qui d\u00e9tecte les erreurs JavaScript. Cette fonction utilise trois tableaux pour stocker le message, l&rsquo;URL et la cha\u00eene incrimin\u00e9e pour chaque erreur. Si l&rsquo;utilisateur clique sur le bouton Afficher le rapport d&rsquo;erreur, la fonction displayErrors ouvre une fen\u00eatre et cr\u00e9e un message d&rsquo;erreur dans celle-ci. Notez que cette fonction renvoie true pour supprimer la bo\u00eete de dialogue d&rsquo;erreur JavaScript standard.<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;SCRIPT&gt;\r\nwindow.onerror = myOnError\r\nmsgArray = new Array()\r\nurlArray = new Array()\r\nlnoArray = new Array()\r\nfunction myOnError(msg, url, lno) {\r\n   msgArray&#x5B;msgArray.length]\r\n= msg\r\n   urlArray&#x5B;urlArray.length] = url\r\n   lnoArray&#x5B;lnoArray.length]\r\n= lno\r\n   return true\r\n}\r\nfunction displayErrors() {\r\n   win2=window.open('','window2','scrollbars=yes')\r\n   win2.document.writeln('&lt;B&gt;Error Report&lt;\/B&gt;&lt;P&gt;')\r\n   for (var i=0; i &lt; msgArray.length; i++) {\r\n      win2.document.writeln('&lt;B&gt;Error in file:&lt;\/B&gt; '\r\n+ urlArray&#x5B;i] + '&lt;BR&gt;')\r\n      win2.document.writeln('&lt;B&gt;Line\r\nnumber:&lt;\/B&gt; ' + lnoArray&#x5B;i] + '&lt;BR&gt;')\r\n      win2.document.writeln('&lt;B&gt;Message:&lt;\/B&gt; '\r\n+ msgArray&#x5B;i] + '&lt;P&gt;')\r\n   }\r\n   win2.document.close()\r\n}\r\n&lt;\/SCRIPT&gt;\r\n&lt;BODY onload=&quot;noSuchFunction()&quot;&gt;\r\n&lt;FORM&gt;\r\n&lt;BR&gt;&lt;INPUT TYPE=&quot;button&quot; VALUE=&quot;This button has a syntax error&quot; onClick=&quot;alert('unterminated string')&quot;&gt;\r\n&lt;P&gt;&lt;INPUT TYPE=&quot;button&quot; VALUE=&quot;Display Error Report&quot; onClick=&quot;displayErrors()&quot;&gt;\r\n&lt;\/FORM&gt;\r\n<\/pre>\n<p style=\"text-align: justify;\">Cet exemple donnera la sortie:<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\nError Report\r\nError in file:\r\nfile:\/\/\/c%7C\/temp\/onerror.html\r\nLine number: 34\r\nMessage: unterminated string literal\r\nError in file: file:\/\/\/c%7C\/temp\/onerror.html\r\nLine number:\r\n34\r\nMessage: missing ) after argument list\r\nError in file: file:\/\/\/c%7C\/temp\/onerror.html\r\nLine number: 30\r\nMessage: noSuchFunction is not defined\r\n<\/pre>\n<p style=\"text-align: justify;\">Exemple 4 : un gestionnaire d\u2019\u00e9v\u00e9nements appelle une fonction. Dans la balise IMG, le gestionnaire onError appelle la fonction badImage lorsque des erreurs se produisent lors du chargement de l&rsquo;image.<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;SCRIPT&gt;\r\nfunction badImage(theImage) {\r\n   alert('Error: ' + theImage.name + ' did not load properly.')\r\n}\r\n&lt;\/SCRIPT&gt;\r\n&lt;FORM&gt;\r\n&lt;IMG NAME=&quot;imageBad2&quot; SRC=&quot;orca.gif&quot; ALIGN=&quot;left&quot; BORDER=&quot;2&quot; onError=&quot;badImage(this)&quot;&gt;\r\n&lt;\/FORM&gt;\r\n<\/pre>\n<h2><span style=\"color: #008000;\">onfocus<\/span><\/h2>\n<p style=\"text-align: justify;\">\u2013 mettre l&rsquo;accent sur un \u00e9l\u00e9ment. Ex\u00e9cute le code JavaScript lorsqu&rsquo;un \u00e9v\u00e9nement se produit focus; c&rsquo;est-\u00e0-dire si une fen\u00eatre, un cadre ou un ensemble de cadres re\u00e7oit le focus, ou si un \u00e9l\u00e9ment de formulaire re\u00e7oit le focus. L&rsquo;\u00e9v\u00e9nement onfocus se produit lorsqu&rsquo;un \u00e9l\u00e9ment re\u00e7oit le focus. L&rsquo;\u00e9v\u00e9nement onfocus est souvent utilis\u00e9 dans les champs de saisie. Tous les \u00e9l\u00e9ments HTML SAUF: base, bdo, br, head, html, iframe, meta, param, script, style, et title<\/p>\n<p style=\"text-align: justify;\">Ex\u00e9cuter JavaScript lorsqu&rsquo;un champ de saisie re\u00e7oit le focus:<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;input type=&quot;text&quot; onfocus=&quot;myFunction()&quot;&gt;\r\n<\/pre>\n<p style=\"text-align: justify;\">Ici, le gestionnaire onFocus est utilis\u00e9 dans l&rsquo;objet valueField Textarea pour appeler la fonction valueCheck.<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;INPUT TYPE=&quot;textarea&quot; VALUE=&quot;&quot; NAME=&quot;valueField&quot; onFocus=&quot;valueCheck()&quot;&gt;\r\n<\/pre>\n<h2><span style=\"color: #008000;\">onfocusin<\/span><\/h2>\n<p style=\"text-align: justify;\">L&rsquo;\u00e9v\u00e9nement onfocusin se produit lorsqu&rsquo;un \u00e9l\u00e9ment re\u00e7oit le focus. L&rsquo;\u00e9v\u00e9nement onfocusin est souvent utilis\u00e9 dans les champs de saisie. Tous les \u00e9l\u00e9ments HTML SAUF: base, bdo, br, head, html, iframe, meta, param, script, style, et title<\/p>\n<p style=\"text-align: justify;\">Ex\u00e9cuter JavaScript lorsqu&rsquo;un champ de saisie est sur le point de recevoir le focus:<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;input type=&quot;text&quot; onfocusin=&quot;myFunction()&quot;&gt;\r\n<\/pre>\n<h2><span style=\"color: #008000;\">onfocusout<\/span><\/h2>\n<p style=\"text-align: justify;\">L&rsquo;\u00e9v\u00e9nement onfocusout se produit lorsqu&rsquo;un \u00e9l\u00e9ment perd le focus. L&rsquo;\u00e9v\u00e9nement onfocusout est souvent utilis\u00e9 dans les champs de saisie. L&rsquo;\u00e9v\u00e9nement onfocusout est souvent utilis\u00e9 lors de la validation du formulaire (lorsque l&rsquo;utilisateur quitte un champ de formulaire). Tous les \u00e9l\u00e9ments HTML SAUF: base, bdo, br, head, html, iframe, meta, param, script, style, et title<\/p>\n<p style=\"text-align: justify;\">Ex\u00e9cuter JavaScript lorsqu&rsquo;un champ de saisie est sur le point de perdre le focus:<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;input type=&quot;text&quot; onfocusout=&quot;myFunction()&quot;&gt;\r\n<\/pre>\n<h2><span style=\"color: #008000;\">onfullscreenchange<\/span><\/h2>\n<p style=\"text-align: justify;\">L&rsquo;\u00e9v\u00e9nement fullscreenchange se produit lorsqu&rsquo;un \u00e9l\u00e9ment est affich\u00e9 en mode plein \u00e9cran. Utilisez la m\u00e9thode element.requestFullscreen() pour afficher un \u00e9l\u00e9ment en mode plein \u00e9cran. Utilisez la m\u00e9thode element.exitFullscreen() pour annuler le mode plein \u00e9cran. Chaque navigateur n\u00e9cessite un pr\u00e9fixe sp\u00e9cifique (voir parenth\u00e8ses) : 45.0 (webkit), 11.0 (ms), 47.0 (moz), 5.1 (webkit), 15.0 (webkit)<\/p>\n<p style=\"text-align: justify;\">Afficher du texte lors de l&rsquo;affichage d&rsquo;une page en mode plein \u00e9cran:<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\ndocument.addEventListener(&quot;fullscreenchange&quot;, function() {\r\n  output.innerHTML = &quot;fullscreenchange event fired!&quot;;\r\n});\r\n<\/pre>\n<p style=\"text-align: justify;\">Utiliser des pr\u00e9fixes pour le code multi-navigateur:<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n\/* \u0421\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0439 \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441 *\/\r\ndocument.addEventListener(&quot;fullscreenchange&quot;, function() {\r\n  ...\r\n});\r\n\/* Firefox *\/\r\ndocument.addEventListener(&quot;mozfullscreenchange&quot;, function() {\r\n  ...\r\n});\r\n\/* Chrome, Safari and Opera *\/\r\ndocument.addEventListener(&quot;webkitfullscreenchange&quot;, function() {\r\n  ...\r\n});\r\n\/* IE \/ Edge *\/\r\ndocument.addEventListener(&quot;msfullscreenchange&quot;, function() {\r\n  ...\r\n});\r\n<\/pre>\n<h2><span style=\"color: #008000;\">onfullscreenerror<\/span><\/h2>\n<p style=\"text-align: justify;\">L&rsquo;\u00e9v\u00e9nement fullscreenerror se produit lorsqu&rsquo;un \u00e9l\u00e9ment ne peut pas \u00eatre affich\u00e9 en mode plein \u00e9cran, m\u00eame s&rsquo;il a \u00e9t\u00e9 demand\u00e9. Utilisez la m\u00e9thode element.requestFullscreen() pour afficher un \u00e9l\u00e9ment en mode plein \u00e9cran. Utilisez la m\u00e9thode element.exitFullscreen() pour annuler le mode plein \u00e9cran.<\/p>\n<p style=\"text-align: justify;\">Texte d&rsquo;avertissement si l&rsquo;\u00e9l\u00e9ment ne peut pas \u00eatre affich\u00e9 en mode plein \u00e9cran:<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\ndocument.addEventListener(&quot;fullscreenerror&quot;, function() {\r\n  alert(&quot;Fullscreen denied&quot;)\r\n});\r\n<\/pre>\n<p style=\"text-align: justify;\">Utiliser des pr\u00e9fixes pour le code multi-navigateur:<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n\/* \u0421\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0439 \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441 *\/\r\ndocument.addEventListener(&quot;fullscreenerror&quot;, function() {\r\n  ...\r\n});\r\n\/* Firefox *\/\r\ndocument.addEventListener(&quot;mozfullscreenerror&quot;, function() {\r\n  ...\r\n});\r\n\/* Chrome, Safari and Opera *\/\r\ndocument.addEventListener(&quot;webkitfullscreenerror&quot;, function() {\r\n  ...\r\n});\r\n\/* IE \/ Edge *\/\r\ndocument.addEventListener(&quot;msfullscreenerror&quot;, function() {\r\n  ...\r\n});\r\n<\/pre>\n<h2><span style=\"color: #008000;\">onhashchange<\/span><\/h2>\n<p style=\"text-align: justify;\">&#8211; modifier la liaison d&rsquo;une partie de l&rsquo;adresse. Prise en charge des balises HTML: body. L&rsquo;\u00e9v\u00e9nement onhashchange se produit lorsqu&rsquo;une modification a \u00e9t\u00e9 apport\u00e9e \u00e0 la partie ancre (commence par le caract\u00e8re \u00ab # \u00bb) de l&rsquo;URL actuelle. Un exemple de ce qu&rsquo;est r\u00e9ellement une partie d&rsquo;ancrage: disons que l&rsquo;URL actuelle est http:\/\/www.example.com\/test.htm#part2 &#8211; La partie d&rsquo;ancrage de cette URL sera #part2.<br \/>\nPour d\u00e9clencher cet \u00e9v\u00e9nement, vous pouvez:<br \/>\nModifiez la partie de liaison en d\u00e9finissant la propri\u00e9t\u00e9 location.hash ou location.href de l&rsquo;objet Location<br \/>.<br \/>\nAcc\u00e9der \u00e0 la page actuelle avec un autre signet (utiliser les boutons Pr\u00e9c\u00e9dent ou Suivant)<br \/>\nCliquez sur le lien d&rsquo;ancrage du signet<\/p>\n<p style=\"text-align: justify;\">Ex\u00e9cuter JavaScript lorsqu&rsquo;une partie de la liaison a chang\u00e9:<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;body onhashchange=&quot;myFunction()&quot;&gt;\r\n<\/pre>\n<p style=\"text-align: justify;\">Comment attribuer l&rsquo;\u00e9v\u00e9nement \u00abonhashchange\u00bb \u00e0 un objet window:<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\nwindow.onhashchange = myFunction;\r\n<\/pre>\n<h2><span style=\"color: #008000;\">oninput<\/span><\/h2>\n<p style=\"text-align: justify;\">\u2013 d\u00e9but de la saisie des donn\u00e9es. L&rsquo;\u00e9v\u00e9nement oninput se produit lorsqu&rsquo;un \u00e9l\u00e9ment re\u00e7oit une entr\u00e9e utilisateur. Cet \u00e9v\u00e9nement se produit lorsque la valeur d&rsquo;un \u00e9l\u00e9ment change input ou textarea. Cet \u00e9v\u00e9nement est similaire \u00e0 l&rsquo;\u00e9v\u00e9nement onchange. La diff\u00e9rence est que l&rsquo;\u00e9v\u00e9nement oninput se produit imm\u00e9diatement apr\u00e8s que la valeur de l&rsquo;\u00e9l\u00e9ment change, tandis que onchange se produit lorsque l&rsquo;\u00e9l\u00e9ment perd le focus, apr\u00e8s que le contenu a chang\u00e9. Une autre diff\u00e9rence est que l\u2019\u00e9v\u00e9nement onchange fonctionne \u00e9galement sur certains \u00e9l\u00e9ments. Prise en charge des balises HTML: input type=\u00a0\u00bbcolor\u00a0\u00bb, input type=\u00a0\u00bbdate\u00a0\u00bb, input type=\u00a0\u00bbdatetime\u00a0\u00bb, input type=\u00a0\u00bbemail\u00a0\u00bb, input type=\u00a0\u00bbmonth\u00a0\u00bb, input type=\u00a0\u00bbnumber\u00a0\u00bb, input type=\u00a0\u00bbpassword\u00a0\u00bb, input type=\u00a0\u00bbrange\u00a0\u00bb, input type=\u00a0\u00bbsearch\u00a0\u00bb, input type=\u00a0\u00bbtel\u00a0\u00bb, input type=\u00a0\u00bbtext\u00a0\u00bb, input type=\u00a0\u00bbtime\u00a0\u00bb, input type=\u00a0\u00bburl\u00a0\u00bb, input type=\u00a0\u00bbweek\u00a0\u00bb et textarea<\/p>\n<p style=\"text-align: justify;\">Ex\u00e9cuter JavaScript lorsque l&rsquo;utilisateur tape quelque chose dans le champ input:<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;input type=&quot;text&quot; oninput=&quot;myFunction()&quot;&gt;\r\n<\/pre>\n<p style=\"text-align: justify;\">Curseur de plage: comment mettre \u00e0 jour dynamiquement la valeur du curseur:<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;input type=&quot;range&quot; oninput=&quot;myFunction(this.value)&quot;&gt;\r\n<\/pre>\n<h2><span style=\"color: #008000;\">oninvalid<\/span><\/h2>\n<p style=\"text-align: justify;\">\u2013 l&rsquo;article est endommag\u00e9. L&rsquo;\u00e9v\u00e9nement oninvalid se produit lorsqu&rsquo;un \u00e9l\u00e9ment est soumis input \u044fest inacceptable. Par exemple, un champ de saisie n&rsquo;est pas valide si l&rsquo;attribut required est d\u00e9fini et que le champ est vide (l&rsquo;attribut required indique que le champ de saisie doit \u00eatre rempli avant que le formulaire puisse \u00eatre soumis). Prise en charge des balises HTML: input<\/p>\n<p style=\"text-align: justify;\">Avertir concernant un texte si le champ de saisie n&rsquo;est pas valide:<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;input type=&quot;text&quot; oninvalid=&quot;alert('Vous devez remplir le formulaire!');&quot; required&gt;\r\n<\/pre>\n<p style=\"text-align: justify;\">Texte d&rsquo;avertissement si le champ de saisie contient moins de 6 caract\u00e8res:<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n\u0418\u043c\u044f: &lt;input type=&quot;text&quot; id=&quot;myInput&quot; name=&quot;fname&quot; pattern=&quot;.{6,}&quot; required&gt;\r\n&lt;script&gt;\r\ndocument.getElementById(&quot;myInput&quot;).addEventListener(&quot;invalid&quot;, myFunction);\r\nfunction myFunction() {\r\n  alert(&quot;Doit contenir 6 caract\u00e8res ou plus&quot;);\r\n}\r\n&lt;\/script&gt;\r\n<\/pre>\n<p style=\"text-align: justify;\">Texte d&rsquo;avertissement si le champ de saisie contient un nombre inf\u00e9rieur \u00e0 2 ou sup\u00e9rieur \u00e0 5:<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n\u041d\u043e\u043c\u0435\u0440: &lt;input type=&quot;number&quot; id=&quot;myInput&quot; name=&quot;quantity&quot; min=&quot;2&quot; max=&quot;5&quot; required&gt;\r\n&lt;script&gt;\r\ndocument.getElementById(&quot;myInput&quot;).addEventListener(&quot;invalid&quot;, myFunction);\r\nfunction myFunction() {\r\n  alert(&quot;Vous devez choisir un num\u00e9ro entre 2 et 5. Vous avez choisi: &quot; + this.value);\r\n}\r\n&lt;\/script&gt;\r\n<\/pre>\n<h2><span style=\"color: #008000;\">onkeydown<\/span><\/h2>\n<p style=\"text-align: justify;\">\u2013 la touche est enfonc\u00e9e. L&rsquo;\u00e9v\u00e9nement onkeydown se produit lorsque l&rsquo;utilisateur appuie sur une touche (du clavier). L&rsquo;ordre des \u00e9v\u00e9nements associ\u00e9s \u00e0 un \u00e9v\u00e9nement onkeydown: onkeydown, onkeypress, onkeyup. Tous les \u00e9l\u00e9ments HTML SAUF: base, bdo, br, head, html, iframe, meta, param, script, style, et title. L&rsquo;\u00e9v\u00e9nement KeyDown se produit toujours avant l&rsquo;\u00e9v\u00e9nement KeyPress. Si onKeyDown renvoie false, l&rsquo;\u00e9v\u00e9nement KeyPress ne se produit pas. Cela emp\u00eache les \u00e9v\u00e9nements KeyPress d&rsquo;\u00eatre d\u00e9clench\u00e9s pendant que l&rsquo;utilisateur maintient une touche enfonc\u00e9e.<\/p>\n<p style=\"text-align: justify;\">type &#8211; Indique le type d&rsquo;\u00e9v\u00e9nement.<br \/>\ntarget &#8211; Sp\u00e9cifie l&rsquo;objet auquel l&rsquo;\u00e9v\u00e9nement a \u00e9t\u00e9 initialement envoy\u00e9.<br \/>\nlayerX, layerY, pageX, pageY, screenX, screenY &#8211; Pour un \u00e9v\u00e9nement de superposition, repr\u00e9sente l&#8217;emplacement du curseur lorsque l&rsquo;\u00e9v\u00e9nement s&rsquo;est produit. Pour un \u00e9v\u00e9nement de formulaire, repr\u00e9sente la position de l&rsquo;\u00e9l\u00e9ment de formulaire.<br \/>\nwhich &#8211; La valeur ASCII de la touche enfonc\u00e9e. Pour obtenir la lettre, le chiffre ou le symbole r\u00e9el de la touche enfonc\u00e9e, utilisez la m\u00e9thode String.fromCharCode. Pour d\u00e9finir cette propri\u00e9t\u00e9 lorsque la valeur ASCII est inconnue, utilisez le String.charCodeAt.<br \/>\nmodifiers &#8211; Contient une liste des touches de modification enfonc\u00e9es lorsque l&rsquo;\u00e9v\u00e9nement s&rsquo;est produit.<\/p>\n<p style=\"text-align: justify;\">Ex\u00e9cuter JavaScript lorsque l&rsquo;utilisateur appuie sur une touche:<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;input type=&quot;text&quot; onkeydown=&quot;myFunction()&quot;&gt;\r\n<\/pre>\n<p style=\"text-align: justify;\">Utiliser \u00abonkeydown\u00bb avec l&rsquo;\u00e9v\u00e9nement \u00ab\u00a0onkeyup\u00a0\u00bb:<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;input type=&quot;text&quot; onkeydown=&quot;keydownFunction()&quot; onkeyup=&quot;keyupFunction()&quot;&gt;\r\n<\/pre>\n<p style=\"text-align: justify;\">Ici, la fonction blockA est utilis\u00e9e pour \u00e9valuer les caract\u00e8res saisis au clavier dans la zone de texte textentry. Si l&rsquo;utilisateur entre \u00aba\u00bb ou \u00abA\u00bb, la fonction renvoie false et la zone de texte n&rsquo;affiche pas la valeur. Dans cette fonction, la propri\u00e9t\u00e9 which L&rsquo;\u00e9v\u00e9nement attribue la valeur ASCII de la touche appuy\u00e9e par l&rsquo;utilisateur \u00e0 la variable keyChar. Op\u00e9rateur if \u00e9value keyChar et renvoie false pour les caract\u00e8res sp\u00e9cifi\u00e9s:<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;form name=&quot;main&quot;&gt;\r\n   &lt;input name=&quot;textentry&quot;\r\ntype=text size=10 maxlength=10&gt;\r\n&lt;\/form&gt;\r\n&lt;script&gt;\r\nfunction blockA(e) {\r\nvar keyChar = String.fromCharCode(e.which);\r\nif (keyChar == 'A' || keyChar == 'a')\r\nreturn false;\r\n}\r\ndocument.main.textentry.onkeydown = blockA;\r\n&lt;\/script&gt;\r\n<\/pre>\n<h2><span style=\"color: #008000;\">onkeypress<\/span><\/h2>\n<p style=\"text-align: justify;\">&#8211; la touche est enfonc\u00e9e puis rel\u00e2ch\u00e9e. Ex\u00e9cute le code JavaScript lorsqu&rsquo;un \u00e9v\u00e9nement KeyPress se produit ; c&rsquo;est-\u00e0-dire si l&rsquo;utilisateur maintient la touche enfonc\u00e9e. L&rsquo;\u00e9v\u00e9nement onkeypress se produit lorsque l&rsquo;utilisateur appuie sur une touche (du clavier). L&rsquo;\u00e9v\u00e9nement onkeypress n&rsquo;est pas d\u00e9clench\u00e9 pour toutes les touches (par exemple ALT, CTRL, MAJ, \u00c9CHAP) dans tous les navigateurs. Pour d\u00e9terminer uniquement si l&rsquo;utilisateur a appuy\u00e9 sur une touche, utilisez plut\u00f4t l&rsquo;\u00e9v\u00e9nement onkeydown, car il fonctionne pour toutes les touches. L&rsquo;ordre des \u00e9v\u00e9nements associ\u00e9s \u00e0 un \u00e9v\u00e9nement onkeydown: onkeydown, onkeypress, onkeyup. Tous les \u00e9l\u00e9ments HTML SAUF: base, bdo, br, head, html, iframe, meta, param, script, style, et title. L&rsquo;\u00e9v\u00e9nement KeyPress se produit imm\u00e9diatement apr\u00e8s l&rsquo;\u00e9v\u00e9nement KeyDown uniquement lorsque onKeyDown renvoie autre chose que false. L&rsquo;\u00e9v\u00e9nement KeyPress se produit de mani\u00e8re r\u00e9p\u00e9t\u00e9e jusqu&rsquo;\u00e0 ce que l&rsquo;utilisateur rel\u00e2che la touche. Vous pouvez annuler des \u00e9v\u00e9nements KeyPress individuels.<\/p>\n<p style=\"text-align: justify;\">type &#8211; Indique le type d&rsquo;\u00e9v\u00e9nement.<br \/>\ntarget &#8211; Sp\u00e9cifie l&rsquo;objet auquel l&rsquo;\u00e9v\u00e9nement a \u00e9t\u00e9 initialement envoy\u00e9.<br \/>\nlayerX, layerY, pageX, pageY, screenX, screenY &#8211; Pour un \u00e9v\u00e9nement de superposition, repr\u00e9sente l&#8217;emplacement du curseur lorsque l&rsquo;\u00e9v\u00e9nement s&rsquo;est produit. Pour un \u00e9v\u00e9nement de formulaire, repr\u00e9sente la position de l&rsquo;\u00e9l\u00e9ment de formulaire.<br \/>\nwhich &#8211; La valeur ASCII de la touche enfonc\u00e9e. Pour obtenir la lettre, le chiffre ou le symbole r\u00e9el de la touche enfonc\u00e9e, utilisez la m\u00e9thode String.fromCharCode. Pour d\u00e9finir cette propri\u00e9t\u00e9 lorsque la valeur ASCII est inconnue, utilisez la m\u00e9thode String.charCodeAt.<br \/>\nmodifiers &#8211; Contient une liste des touches de modification enfonc\u00e9es lorsque l&rsquo;\u00e9v\u00e9nement s&rsquo;est produit.<\/p>\n<p style=\"text-align: justify;\">Ex\u00e9cuter JavaScript lorsque l&rsquo;utilisateur appuie sur une touche:<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;input type=&quot;text&quot; onkeypress=&quot;myFunction()&quot;&gt;\r\n<\/pre>\n<p style=\"text-align: justify;\">Ici, la m\u00e9thode captureEvents capture les entr\u00e9es au clavier et le gestionnaire onKeyPress appelle la fonction blockA pour v\u00e9rifier les pressions sur les touches. Si les touches \u00aba\u00bb ou \u00abz\u00bb sont enfonc\u00e9es, la fonction fait d\u00e9filer la fen\u00eatre du navigateur.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\nfunction blockA(e) {\r\nvar keyChar = String.fromCharCode(e.which);\r\nif (keyChar == 'A' || keyChar == 'a')\r\nself.scrollBy(10,10);\r\nelse if(keyChar == 'Z' || keyChar == 'z')\r\nself.scrollBy(-10,-10);\r\nelse return false;\r\n}\r\ndocument.captureEvents(Event.KEYPRESS);\r\ndocument.onkeypress = blockA;\r\n<\/pre>\n<h2><span style=\"color: #008000;\">onkeyup<\/span><\/h2>\n<p style=\"text-align: justify;\">\u2013 touche rel\u00e2ch\u00e9e L&rsquo;\u00e9v\u00e9nement onkeyup se produit lorsque l&rsquo;utilisateur rel\u00e2che une touche (sur le clavier). L&rsquo;ordre des \u00e9v\u00e9nements associ\u00e9s \u00e0 l&rsquo;\u00e9v\u00e9nement onkeydown: onkeydown, onkeypress, onkeyup. Tous les \u00e9l\u00e9ments HTML SAUF: base, bdo, br, head, html, iframe, meta, param, script, style, et title.<\/p>\n<p style=\"text-align: justify;\">type &#8211; Indique le type d&rsquo;\u00e9v\u00e9nement.<br \/>\ntarget &#8211; Sp\u00e9cifie l&rsquo;objet auquel l&rsquo;\u00e9v\u00e9nement a \u00e9t\u00e9 initialement envoy\u00e9.<br \/>\nlayerX, layerY, pageX, pageY, screenX, screenY &#8211; Pour un \u00e9v\u00e9nement de superposition, repr\u00e9sente l&#8217;emplacement du curseur lorsque l&rsquo;\u00e9v\u00e9nement s&rsquo;est produit. Pour un \u00e9v\u00e9nement de formulaire, repr\u00e9sente la position de l&rsquo;\u00e9l\u00e9ment de formulaire.<br \/>\nwhich &#8211; La valeur ASCII de la touche enfonc\u00e9e. Pour obtenir la lettre, le chiffre ou le symbole r\u00e9el de la touche enfonc\u00e9e, utilisez la m\u00e9thode String.fromCharCode. Pour d\u00e9finir cette propri\u00e9t\u00e9 lorsque la valeur ASCII est inconnue, utilisez le String.charCodeAt.<br \/>\nmodifiers &#8211; Contient une liste des touches de modification enfonc\u00e9es lorsque l&rsquo;\u00e9v\u00e9nement s&rsquo;est produit.<\/p>\n<p style=\"text-align: justify;\">Ex\u00e9cuter JavaScript lorsque l&rsquo;utilisateur rel\u00e2che la touche:<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;input type=&quot;text&quot; onkeyup=&quot;myFunction()&quot;&gt;\r\n<\/pre>\n<p style=\"text-align: justify;\">Utilisez \u00abonkeydown\u00bb avec l&rsquo;\u00e9v\u00e9nement \u00abonkeyup\u00bb:<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;input type=&quot;text&quot; onkeydown=&quot;keydownFunction()&quot; onkeyup=&quot;keyupFunction()&quot;&gt;\r\n<\/pre>\n<p style=\"text-align: justify;\">Affichez la cl\u00e9 r\u00e9elle qui a \u00e9t\u00e9 \u00e9mise dans le champ de texte:<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0441\u0432\u043e\u0435 \u0438\u043c\u044f: &lt;input type=&quot;text&quot; id=&quot;fname&quot; onkeyup=&quot;myFunction()&quot;&gt;\r\n&lt;script&gt;\r\nfunction myFunction() {\r\n  var x = document.getElementById(&quot;fname&quot;).value;\r\n  document.getElementById(&quot;demo&quot;).innerHTML = x;\r\n}\r\n&lt;\/script&gt;\r\n<\/pre>\n<p style=\"text-align: justify;\">Ici, la m\u00e9thode captureEvents capture la saisie au clavier et le gestionnaire onKeyUp appelle la fonction Key_Up. La m\u00e9thode alert de la fonction ouvre une bo\u00eete de dialogue pour afficher la valeur de la touche enfonc\u00e9e:<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\nfunction Key_Up(e) {\r\nvar keyChar = String.fromCharCode(e.which);\r\nalert(&quot;Hold '&quot; + keyChar +&quot;' again for me, okay?&quot;);\r\n}\r\ndocument.onkeyup=Key_Up;\r\ndocument.captureEvents(Event.KEYUP);\r\n<\/pre>\n<h2><span style=\"color: #008000;\">onload<\/span><\/h2>\n<p style=\"text-align: justify;\">\u2013 article charg\u00e9. L&rsquo;\u00e9v\u00e9nement onload se produit lorsqu&rsquo;un objet a \u00e9t\u00e9 charg\u00e9. L&rsquo;\u00e9v\u00e9nement onload est le plus souvent utilis\u00e9 dans l&rsquo;\u00e9l\u00e9ment body ex\u00e9cuter un script apr\u00e8s qu&rsquo;une page Web a compl\u00e8tement charg\u00e9 tout son contenu (y compris les images, les fichiers de script, les fichiers CSS, etc.). L&rsquo;\u00e9v\u00e9nement onload peut \u00eatre utilis\u00e9 pour v\u00e9rifier le type de navigateur et la version du navigateur du visiteur et charger la version appropri\u00e9e de la page Web en fonction des informations re\u00e7ues. L&rsquo;\u00e9v\u00e9nement onload peut \u00e9galement \u00eatre utilis\u00e9 pour g\u00e9rer des fichiers cookie.<\/p>\n<p style=\"text-align: justify;\">Le gestionnaire onLoad est utilis\u00e9 dans la balise BODY ou FRAMESET, par exemple, BODY onLoad=\u00a0\u00bb&#8230;\u00a0\u00bb. Pour les balises FRAMESET et FRAME: l&rsquo;\u00e9v\u00e9nement du gestionnaire onLoad dans le cadre (plac\u00e9 dans la balise BODY) se produit avant le onLoad de la balise FRAMESET (plac\u00e9e dans la balise FRAMESET). Pour les images, le gestionnaire onLoad sp\u00e9cifie un script \u00e0 ex\u00e9cuter lorsque l&rsquo;image est affich\u00e9e. Ne confondez pas la sortie d&rsquo;image avec le chargement d&rsquo;image. Vous pouvez t\u00e9l\u00e9charger plusieurs images, puis les afficher une par une dans le m\u00eame objet Image en d\u00e9finissant la propri\u00e9t\u00e9 src de l&rsquo;objet. Si vous modifiez l&rsquo;image affich\u00e9e de cette mani\u00e8re, onLoad est ex\u00e9cut\u00e9 \u00e0 chaque fois que l&rsquo;image est affich\u00e9e, pas seulement lorsque les images sont charg\u00e9es en m\u00e9moire.<\/p>\n<p style=\"text-align: justify;\">Si vous sp\u00e9cifiez un gestionnaire onLoad pour un objet Image qui affiche un GIF multi-images, chaque cycle d&rsquo;animation inclut le gestionnaire onLoad et le gestionnaire est ex\u00e9cut\u00e9 une fois pour chaque cycle. Vous pouvez utiliser le gestionnaire onLoad pour cr\u00e9er une animation JavaScript en d\u00e9finissant \u00e0 plusieurs reprises la propri\u00e9t\u00e9 src d&rsquo;un objet Image.<\/p>\n<p style=\"text-align: justify;\">type &#8211; Indique le type d&rsquo;\u00e9v\u00e9nement.<br \/>\ntarget &#8211; Sp\u00e9cifie l&rsquo;objet auquel l&rsquo;\u00e9v\u00e9nement a \u00e9t\u00e9 initialement envoy\u00e9.<br \/>\nwidth, height &#8211; Pour l&rsquo;\u00e9v\u00e9nement au-dessus de la fen\u00eatre mais pas au-dessus du calque\/layer, Ces propri\u00e9t\u00e9s repr\u00e9sentent la largeur et la hauteur de la fen\u00eatre.<\/p>\n<p style=\"text-align: justify;\">Ex\u00e9cuter JavaScript imm\u00e9diatement apr\u00e8s le chargement de la page:<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;body onload=&quot;myFunction()&quot;&gt;\r\n<\/pre>\n<p style=\"text-align: justify;\">En JavaScript, utilisez la m\u00e9thode addEventListener():<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\nobject.addEventListener(&quot;load&quot;, myScript);\r\n<\/pre>\n<p style=\"text-align: justify;\">Afficher un message lors du chargement de la page. Ici, le gestionnaire onLoad affiche un message d&rsquo;accueil une fois la page charg\u00e9e.<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;BODY onLoad=&quot;window.alert(&quot;Welcome to the Brave New World home page!&quot;)&gt;\r\n<\/pre>\n<p style=\"text-align: justify;\">Afficher un message lorsqu&rsquo;une image est charg\u00e9e. Ici, deux objets Image sont cr\u00e9\u00e9s : l&rsquo;un par le constructeur Image et l&rsquo;autre par la balise IMG. Chaque objet Image poss\u00e8de un gestionnaire onLoad qui appelle la fonction displayAlert pour afficher un message. Pour une image cr\u00e9\u00e9e avec une balise IMG, la bo\u00eete de dialogue d&rsquo;alerte affiche le nom de l&rsquo;image. Pour une image cr\u00e9\u00e9e par le constructeur Image, alert affiche un message sans le nom de l&rsquo;image. Cela se produit parce que le gestionnaire onLoad d&rsquo;un objet cr\u00e9\u00e9 par le constructeur Image doit \u00eatre un nom de fonction et il ne peut pas sp\u00e9cifier de param\u00e8tres pour la fonction displayAlert.<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;SCRIPT&gt;\r\nimageA = new Image(50,50)\r\nimageA.onload=displayAlert\r\nimageA.src=&quot;cyanball.gif&quot;\r\nfunction displayAlert(theImage) {\r\n   if (theImage==null) {\r\n      alert('An image loaded')\r\n   }\r\n   else alert(theImage.name + ' has been loaded.')\r\n}\r\n&lt;\/SCRIPT&gt;\r\n&lt;IMG NAME=&quot;imageB&quot; SRC=&quot;greenball.gif&quot; ALIGN=&quot;top&quot; onLoad=displayAlert(this)&gt;&lt;BR&gt;\r\n<\/pre>\n<p style=\"text-align: justify;\">Sortie d&rsquo;animation GIF en boucle. Cela affiche l&rsquo;image birdie.gif, qui est une image GIF anim\u00e9e. Le gestionnaire onLoad incr\u00e9mente la variable cycles, qui garde une trace du nombre de cycles d&rsquo;animation. Pour voir la valeur cycles, l&rsquo;utilisateur clique sur le bouton Count Loops.<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;SCRIPT&gt;\r\nvar cycles=0\r\n&lt;\/SCRIPT&gt;\r\n&lt;IMG ALIGN=&quot;top&quot; SRC=&quot;birdie.gif&quot; BORDER=0 onLoad=&quot;++cycles&quot;&gt;\r\n&lt;INPUT TYPE=&quot;button&quot; VALUE=&quot;Count Loops&quot; onClick=&quot;alert('The animation has looped ' + cycles + ' times.')&quot;&gt;\r\n<\/pre>\n<p style=\"text-align: justify;\">Modifier l&rsquo;animation GIF affich\u00e9e. Cet exemple utilise le gestionnaire onLoad pour faire pivoter six animations GIF. Chaque animation est pr\u00e9sent\u00e9e comme une s\u00e9quence d\u2019objets Image individuels. Lorsque le document se charge, !anim0.html s&rsquo;affiche. Lorsque cette animation est termin\u00e9e, le gestionnaire onLoad provoque le chargement du fichier suivant, !anim1.html, \u00e0 la place du premier fichier. Une fois la derni\u00e8re animation, !anim5.html, termin\u00e9e, le premier fichier s&rsquo;affiche \u00e0 nouveau. Notez que la fonction changeAnimation ne s&rsquo;appelle pas elle-m\u00eame apr\u00e8s les modifications de la propri\u00e9t\u00e9 src de l&rsquo;objet Image. Cela se produit parce que la propri\u00e9t\u00e9 src change, le gestionnaire onLoad de l&rsquo;image est d\u00e9clench\u00e9 et la fonction est appel\u00e9e changeAnimation.<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;SCRIPT&gt;\r\nvar whichImage=0\r\nvar maxImages=5\r\nfunction changeAnimation(theImage) {\r\n   ++whichImage\r\n   if (whichImage &lt;= maxImages) {\r\n      var imageName=&quot;!anim&quot; + whichImage + &quot;.gif&quot;\r\n      theImage.src=imageName\r\n   } else {\r\n      whichImage=-1\r\n      return\r\n   }\r\n}\r\n&lt;\/SCRIPT&gt;\r\n&lt;IMG NAME=&quot;changingAnimation&quot; SRC=&quot;!anim0.gif&quot; BORDER=0 ALIGN=&quot;top&quot; onLoad=&quot;changeAnimation(this)&quot;&gt;\r\n<\/pre>\n<p style=\"text-align: justify;\">Utilisez l&rsquo;\u00e9v\u00e9nement onload pour l&rsquo;\u00e9l\u00e9ment img. Notification \u00abImage charg\u00e9e\u00bb imm\u00e9diatement apr\u00e8s le chargement de l&rsquo;image:<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;img src=&quot;javascriptw3.gif&quot; onload=&quot;loadImage()&quot; width=&quot;100&quot; height=&quot;132&quot;&gt;\r\n&lt;script&gt;\r\nfunction loadImage() {\r\n  alert(&quot;Image is loaded&quot;);\r\n}\r\n&lt;\/script&gt;\r\n<\/pre>\n<p style=\"text-align: justify;\">Utiliser l&rsquo;\u00e9v\u00e9nement onload pour traiter les fichiers cookie:<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;body onload=&quot;checkCookies()&quot;&gt;\r\n&lt;script&gt;\r\nfunction checkCookies() {\r\n  var text = &quot;&quot;;\r\n  if (navigator.cookieEnabled == true) {\r\n    text = &quot;Cookies activ\u00e9s.&quot;;\r\n  } else {\r\n     text = &quot;Les cookies ne sont pas activ\u00e9s.&quot;;\r\n  }\r\n  document.getElementById(&quot;demo&quot;).innerHTML = text;\r\n}\r\n&lt;\/script&gt;\r\n<\/pre>\n<h2><span style=\"color: #008000;\">onloadeddata<\/span><\/h2>\n<p style=\"text-align: justify;\">\u2013 donn\u00e9es du fichier charg\u00e9es. Gestionnaire pour l&rsquo;\u00e9v\u00e9nement loadeddata, qui est d\u00e9clench\u00e9 lorsque l&rsquo;audio\/la vid\u00e9o ne peut plus \u00eatre lue \u00e0 la position actuelle, mais que les donn\u00e9es multim\u00e9dias continuent de se charger. L&rsquo;\u00e9v\u00e9nement onloadeddata se produit lorsque la trame multim\u00e9dia est charg\u00e9e, mais ne garantit pas que suffisamment de donn\u00e9es sont disponibles pour commencer la lecture. L&rsquo;\u00e9v\u00e9nement onloadeddata se produit apr\u00e8s onloadedmetadata et avant oncanplay.<\/p>\n<p style=\"text-align: justify;\">Lors du chargement d&rsquo;un m\u00e9dia, 7 \u00e9v\u00e9nements se produisent dans l&rsquo;ordre suivant:<br \/>\n1. onloadstart<br \/>\n2. ondurationchange<br \/>\n3. onloadedmetadata<br \/>\n4. onloadeddata<br \/>\n5. onprogress<br \/>\n6. oncanplay<br \/>\n7. oncanplaythrough<\/p>\n<p style=\"text-align: justify;\">Ex\u00e9cuter JavaScript lorsque les donn\u00e9es sont disponibles pour l&rsquo;image actuelle (par video):<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;video onloadeddata=&quot;myFunction()&quot;&gt;\r\n<\/pre>\n<p style=\"text-align: justify;\">Ex\u00e9cuter JavaScript lorsque les donn\u00e9es sont disponibles pour l&rsquo;image actuelle (par audio):<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;audio onloadeddata=&quot;myFunction()&quot;&gt;\r\n<\/pre>\n<h2><span style=\"color: #008000;\">onloadedmetadata<\/span><\/h2>\n<p style=\"text-align: justify;\">\u2013 M\u00e9tadonn\u00e9es du fichier charg\u00e9es. Gestionnaire pour l&rsquo;\u00e9v\u00e9nement loadedmetadata qui est d\u00e9clench\u00e9 lorsque les m\u00e9tadonn\u00e9es (dur\u00e9e, dimensions de l&rsquo;image (pour la vid\u00e9o) et texte de la piste) pour le fichier audio\/vid\u00e9o sp\u00e9cifi\u00e9 ont \u00e9t\u00e9 charg\u00e9es. L&rsquo;\u00e9v\u00e9nement onloadedmetadata se produit lorsque les m\u00e9tadonn\u00e9es du m\u00e9dia ont \u00e9t\u00e9 charg\u00e9es.<\/p>\n<p style=\"text-align: justify;\">Les m\u00e9tadonn\u00e9es pour l&rsquo;audio ou la vid\u00e9o se composent de:<br \/>\nDur\u00e9e<br \/>\nDimensions (vid\u00e9o)<br \/>\nPistes<\/p>\n<p style=\"text-align: justify;\">Ex\u00e9cuter JavaScript lorsque les m\u00e9tadonn\u00e9es de la vid\u00e9o sont charg\u00e9es:<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;video onloadedmetadata=&quot;myFunction()&quot;&gt;\r\n<\/pre>\n<p style=\"text-align: justify;\">En Javascript:<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\nobject.onloadedmetadata = function(){myScript};\r\n<\/pre>\n<p style=\"text-align: justify;\">En JavaScript, utilisez la m\u00e9thode addEventListener():<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\nobject.addEventListener(&quot;loadedmetadata&quot;, myScript);\r\n<\/pre>\n<h2><span style=\"color: #008000;\">onloadstart<\/span><\/h2>\n<p style=\"text-align: justify;\">\u2013 commencer \u00e0 charger l&rsquo;\u00e9l\u00e9ment. Gestionnaire de l&rsquo;\u00e9v\u00e9nement loadstart, qui est d\u00e9clench\u00e9 lorsque le processus de chargement d&rsquo;un fichier audio\/vid\u00e9o commence.<\/p>\n<h2><span style=\"color: #008000;\">onmessage<\/span><\/h2>\n<p style=\"text-align: justify;\">&#8211; un message appara\u00eet. L&rsquo;\u00e9v\u00e9nement onmessage est d\u00e9clench\u00e9 lorsqu&rsquo;un message est re\u00e7u via la source de l&rsquo;\u00e9v\u00e9nement. L&rsquo;objet \u00e9v\u00e9nement pour l&rsquo;\u00e9v\u00e9nement onmessage prend en charge les propri\u00e9t\u00e9s suivantes:<br \/>\ndonn\u00e9es &#8211; Contient le message r\u00e9el<br \/>\norigin \u2014 L&rsquo;URL du document qui a d\u00e9clench\u00e9 l&rsquo;\u00e9v\u00e9nement.<br \/>\nLastEventId &#8211; L&rsquo;identifiant du dernier message vu dans le flux d&rsquo;\u00e9v\u00e9nements.<br \/>\n\u00c9v\u00e9nements connexes :<br \/>\nonopen &#8211; se produit lorsqu&rsquo;une connexion au serveur est ouverte.<br \/>\nonerror &#8211; Se produit lorsqu&rsquo;un probl\u00e8me survient<\/p>\n<p style=\"text-align: justify;\">Cr\u00e9ez un nouvel objet EventSource et sp\u00e9cifiez l\u2019URL de la page qui envoie les mises \u00e0 jour. Chaque fois qu&rsquo;une mise \u00e0 jour est re\u00e7ue, l&rsquo;\u00e9v\u00e9nement onmessage se produit. Lorsque l&rsquo;\u00e9v\u00e9nement onmessage se produit, placez les donn\u00e9es re\u00e7ues dans un \u00e9l\u00e9ment div avec id=\u00a0\u00bbmyDIV\u00a0\u00bb:<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\nvar source = new EventSource(&quot;demo_sse.php&quot;);\r\nsource.onmessage = function(event) {\r\n  document.getElementById(&quot;myDIV&quot;).innerHTML += event.data + &quot;&lt;br&gt;&quot;;\r\n};\r\n<\/pre>\n<h2><span style=\"color: #008000;\">onmousedown<\/span><\/h2>\n<p style=\"text-align: justify;\">\u2013 le bouton de la souris est enfonc\u00e9. Gestionnaire de l&rsquo;\u00e9v\u00e9nement mousedown, qui se produit lorsque le bouton gauche de la souris est enfonc\u00e9. La diff\u00e9rence avec l&rsquo;\u00e9v\u00e9nement onclick est que onclick est une combinaison des \u00e9v\u00e9nements mousedown et mouseup. Ex\u00e9cute le code JavaScript lorsqu&rsquo;un \u00e9v\u00e9nement MouseDown se produit; c&rsquo;est-\u00e0-dire lorsque l&rsquo;utilisateur appuie sur un bouton de la souris. Si onMouseDown renvoie false, l&rsquo;action par d\u00e9faut (entrer en mode drag, entrer en mode selection ou l&rsquo;activation d&rsquo;un lien hypertexte) est annul\u00e9e. L&rsquo;activation est d\u00e9clench\u00e9e par l&rsquo;\u00e9v\u00e9nement MouseDown sur l&rsquo;hyperlien. Lorsqu&rsquo;un lien est activ\u00e9, il change de couleur pour indiquer son nouvel \u00e9tat. L&rsquo;action par d\u00e9faut varie : lancer le glissement, la s\u00e9lection de texte, le d\u00e9filement ou le zoom (en combinaison avec l&rsquo;appui sur la molette si pris en charge)<\/p>\n<p style=\"text-align: justify;\">L&rsquo;\u00e9v\u00e9nement onmousedown se produit lorsque l&rsquo;utilisateur appuie sur le bouton de la souris sur un \u00e9l\u00e9ment HTML. Ordre des \u00e9v\u00e9nements pour les boutons gauche et central de la souris:<br \/>\nonmousedown<br \/>\nonmouseup<br \/>\n\u043f\u043e \u043a\u043b\u0438\u043a\u0443<br \/>\nOrdre des \u00e9v\u00e9nements du bouton droit de la souris:<br \/>\nonmousedown<br \/>\nonmouseup<br \/>\noncontextmenu<\/p>\n<p style=\"text-align: justify;\">type &#8211;  Indique le type d&rsquo;\u00e9v\u00e9nement.<br \/>\ntarget &#8211; Sp\u00e9cifie l&rsquo;objet auquel l&rsquo;\u00e9v\u00e9nement a \u00e9t\u00e9 initialement envoy\u00e9.<br \/>\nlayerX, layerY, pageX, pageY, screenX, screenY- L&#8217;emplacement du curseur lorsque l&rsquo;\u00e9v\u00e9nement s&rsquo;est produit MouseDown.<br \/>\nwhich &#8211; Repr\u00e9sente 1 pour le clic gauche de la souris et 3 pour le clic droit de la souris.<br \/>\nmodifiers &#8211; Contient une liste de touches de modification qui ont \u00e9t\u00e9 enfonc\u00e9es lorsque l&rsquo;\u00e9v\u00e9nement MouseDown s&rsquo;est produit.<\/p>\n<p style=\"text-align: justify;\">Appeler une fonction lorsque le bouton de la souris est enfonc\u00e9 sur un paragraphe:<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;p onmousedown=&quot;myFunction()&quot;&gt;Click the text!&lt;\/p&gt;\r\n<\/pre>\n<p style=\"text-align: justify;\">Ici, l&rsquo;utilisateur peut d\u00e9placer l&rsquo;image sur la page HTML en la faisant glisser avec la souris. Votre code HTML d\u00e9finit une image et la positionne dans un calque appel\u00e9 container1. Dans le code JavaScript, les gestionnaires d&rsquo;\u00e9v\u00e9nements d\u00e9finissent les propri\u00e9t\u00e9s de positionnement de container1 lorsque l&rsquo;utilisateur fait glisser l&rsquo;image, cr\u00e9ant ainsi une animation. L&rsquo;attribut ID de l&rsquo;\u00e9l\u00e9ment P qui contient l&rsquo;image est d\u00e9fini sur container1 , faisant de container1 un identifiant unique pour le paragraphe et l&rsquo;image. La balise STYLE cr\u00e9e un calque pour container1 et le positionne. Le code JavaScript ci-dessous d\u00e9finit les gestionnaires onMouseDown, onMouseUp et onMouseMove. Utiliser des feuilles de style\/style sheets, l&rsquo;image est initialement d\u00e9finie et positionn\u00e9e comme suit:<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;HEAD&gt;\r\n&lt;STYLE type=&quot;text\/css&quot;&gt;\r\n   #container1 {\r\nposition:absolute; left:200; top:200}\r\n&lt;\/STYLE&gt;\r\n&lt;\/HEAD&gt;\r\n&lt;BODY&gt;\r\n&lt;P ID=&quot;container1&quot;&gt;\r\n&lt;img src=&quot;backgrnd.gif&quot; name=&quot;myImage&quot; width=96 height=96&gt;\r\n&lt;\/P&gt;\r\n&lt;\/BODY&gt;\r\n<\/pre>\n<p style=\"text-align: justify;\">Dans ce code, la m\u00e9thode captureEvents capture les \u00e9v\u00e9nements MouseUp et MouseDown. Les fonctions DRAG_begindrag et DRAG_enddrag sont appel\u00e9es respectivement pour g\u00e9rer ces \u00e9v\u00e9nements. Si l&rsquo;utilisateur appuie sur le bouton gauche de la souris, la fonction DRAG_begindrag d\u00e9marre, capturant les \u00e9v\u00e9nements MouseMove et indiquant \u00e0 la fonction DRAG_drag de les g\u00e9rer. Il attribue ensuite la valeur de la propri\u00e9t\u00e9 pageX de l&rsquo;\u00e9v\u00e9nement MouseDown \u00e0 la propri\u00e9t\u00e9 DRAG_lastX, la valeur de la propri\u00e9t\u00e9 pageY \u00e0 la propri\u00e9t\u00e9 DRAG_lastY et true \u00e0 la propri\u00e9t\u00e9 DRAG_dragging. La fonction DRAG_drag \u00e9value DRAG_dragging pour s&rsquo;assurer que l&rsquo;\u00e9v\u00e9nement MouseMove a \u00e9t\u00e9 captur\u00e9 par la fonction DRAG_begindrag, puis utilise la m\u00e9thode moveBy pour positionner l&rsquo;objet et attribue des valeurs aux propri\u00e9t\u00e9s DRAG_lastX et DRAG_lastY. Lorsque l&rsquo;utilisateur rel\u00e2che le bouton gauche de la souris, la fonction DRAG_enddrag arr\u00eate de capturer les \u00e9v\u00e9nements MouseMove. DRAG_enddrag garantit ensuite qu&rsquo;aucune autre fonction n&rsquo;est appel\u00e9e en d\u00e9finissant onmousemove sur Null et DRAG_dragging sur false.<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;SCRIPT&gt;\r\ncontainer1.captureEvents(Event.MOUSEUP|Event.MOUSEDOWN);\r\ncontainer1.onmousedown=DRAG_begindrag;\r\ncontainer1.onmouseup=DRAG_enddrag;\r\nvar DRAG_lastX, DRAG_lastY, DRAG_dragging;\r\nfunction DRAG_begindrag(e) {\r\nif (e.which == 1) {\r\nwindow.captureEvents(Event.MOUSEMOVE);\r\n      window.onmousemove=DRAG_drag;\r\nDRAG_lastX=e.pageX;\r\nDRAG_lastY=e.pageY;\r\nDRAG_dragging=true;\r\nreturn false;\r\n}\r\nelse {\r\n\/*Voici quelques travaux sur la gestion du clic droit de la souris*\/\r\nreturn true;\r\n}\r\n}\r\nfunction DRAG_enddrag(e) {\r\nif (e.which == 1) {\r\nwindow.releaseEvents(Event.MOUSEMOVE);\r\n      window.onmousemove=null\r\nDRAG_dragging=false;\r\nreturn false;\r\n}\r\nelse {\r\n\/*Voici quelques travaux sur la gestion du clic droit de la souris*\/\r\nreturn true;\r\n}\r\n}\r\nfunction DRAG_drag(e) {\r\nif (DRAG_dragging) {\r\n\/*Cette fonction est appel\u00e9e uniquement si elle est captur\u00e9e MOUSEMOVE*\/\r\nmoveBy(e.pageX-DRAG_lastX, e.pageY-DRAG_lastY);\r\nDRAG_lastX = e.pageX;\r\nDRAG_lastY = e.pageY;\r\nreturn false;\r\n}\r\nelse {\r\nreturn true;\r\n}\r\n}\r\n&lt;\/SCRIPT&gt;\r\n<\/pre>\n<h2><span style=\"color: #008000;\">onmouseenter<\/span><\/h2>\n<p style=\"text-align: justify;\">\u2013 le pointeur de la souris survole l&rsquo;\u00e9l\u00e9ment. Gestionnaire de l&rsquo;\u00e9v\u00e9nement mouseenter, qui se produit lorsque le curseur de la souris entre dans la zone de l&rsquo;\u00e9l\u00e9ment. Contrairement au survol de la souris, l&rsquo;\u00e9v\u00e9nement mouseenter ne se propage pas, c&rsquo;est-\u00e0-dire qu&rsquo;il ne se produit pas si le curseur de la souris entre dans un \u00e9l\u00e9ment enfant de l&rsquo;\u00e9l\u00e9ment sp\u00e9cifi\u00e9. L&rsquo;\u00e9v\u00e9nement onmouseenter se produit lorsque le pointeur de la souris entre dans un \u00e9l\u00e9ment. L&rsquo;\u00e9v\u00e9nement onmouseenter est souvent utilis\u00e9 avec l&rsquo;\u00e9v\u00e9nement onmouseleave, qui se produit lorsque le pointeur de la souris quitte un \u00e9l\u00e9ment. L&rsquo;\u00e9v\u00e9nement onmouseenter est similaire \u00e0 l&rsquo;\u00e9v\u00e9nement onmouseover. La diff\u00e9rence est que l&rsquo;\u00e9v\u00e9nement onmouseenter ne se propage pas (ne se propage pas dans la hi\u00e9rarchie du document).<\/p>\n<p style=\"text-align: justify;\">Un \u00e9v\u00e9nement mouseenter est envoy\u00e9 \u00e0 chaque \u00e9l\u00e9ment de la hi\u00e9rarchie lorsqu&rsquo;ils sont saisis. Ici, 4 \u00e9v\u00e9nements sont envoy\u00e9s \u00e0 4 \u00e9l\u00e9ments de la hi\u00e9rarchie lorsque le pointeur atteint le texte. Un seul \u00e9v\u00e9nement de survol de la souris est envoy\u00e9 \u00e0 l&rsquo;\u00e9l\u00e9ment le plus profond de l&rsquo;arborescence DOM, puis remonte la hi\u00e9rarchie jusqu&rsquo;\u00e0 ce qu&rsquo;il soit annul\u00e9 par un gestionnaire ou atteigne la racine. Avec une hi\u00e9rarchie profonde, le nombre d&rsquo;\u00e9v\u00e9nements de survol de souris envoy\u00e9s peut \u00eatre assez important et entra\u00eener des probl\u00e8mes de performances importants. Dans de tels cas, il est pr\u00e9f\u00e9rable de g\u00e9rer les \u00e9v\u00e9nements mouseenter. Lorsqu&rsquo;il est combin\u00e9 avec l&rsquo;\u00e9v\u00e9nement mouseleave correspondant (qui se d\u00e9clenche sur un \u00e9l\u00e9ment lorsque la souris quitte la zone de contenu), l&rsquo;\u00e9v\u00e9nement mouseenter agit de mani\u00e8re tr\u00e8s similaire \u00e0 la pseudo-classe CSS :hover.<\/p>\n<p style=\"text-align: justify;\">Appeler une fonction lorsque le pointeur de la souris survole une image:<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;img onmouseenter=&quot;bigImg(this)&quot; src=&quot;smiley.gif&quot; alt=&quot;Smiley&quot;&gt;\r\n<\/pre>\n<p style=\"text-align: justify;\">JavaScript:<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\nobject.onmouseenter = function(){myScript};\r\nJavaScript, using the addEventListener() method:\r\nobject.addEventListener(&quot;mouseenter&quot;, myScript);\r\n<\/pre>\n<p style=\"text-align: justify;\">Cet exemple d\u00e9montre la diff\u00e9rence entre les \u00e9v\u00e9nements onmousemove, onmouseenter et mouseover:<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;div onmousemove=&quot;myMoveFunction()&quot;&gt;\r\n  &lt;p id=&quot;demo1&quot;&gt;I will demonstrate onmousemove!&lt;\/p&gt;\r\n&lt;\/div&gt;\r\n&lt;div onmouseenter=&quot;myEnterFunction()&quot;&gt;\r\n  &lt;p id=&quot;demo2&quot;&gt;I will demonstrate onmouseenter!&lt;\/p&gt;\r\n&lt;\/div&gt;\r\n&lt;div onmouseover=&quot;myOverFunction()&quot;&gt;\r\n  &lt;p id=&quot;demo3&quot;&gt;I will demonstrate onmouseover!&lt;\/p&gt;\r\n&lt;\/div&gt;\r\n<\/pre>\n<p style=\"text-align: justify;\">L&rsquo;exemple trivial suivant utilise l&rsquo;\u00e9v\u00e9nement mouseenter pour modifier la bordure d&rsquo;un \u00e9l\u00e9ment div lorsque la souris entre dans l&rsquo;espace qui lui est allou\u00e9. Il ajoute ensuite l&rsquo;\u00e9l\u00e9ment \u00e0 la liste lors de l&rsquo;\u00e9v\u00e9nement mouseenter ou mouseleave.<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;SCRIPT&gt;\r\nvar enterEventCount = 0;\r\nvar leaveEventCount = 0;\r\nconst mouseTarget = document.getElementById(&quot;mouseTarget&quot;);\r\nconst unorderedList = document.getElementById(&quot;unorderedList&quot;);\r\nmouseTarget.addEventListener(&quot;mouseenter&quot;, (e) =&gt; {\r\n  mouseTarget.style.border = &quot;5px dotted orange&quot;;\r\n  enterEventCount++;\r\n  addListItem(&quot;This is mouseenter event &quot; + enterEventCount + &quot;.&quot;);\r\n});\r\nmouseTarget.addEventListener(&quot;mouseleave&quot;, (e) =&gt; {\r\n  mouseTarget.style.border = &quot;1px solid #333&quot;;\r\n  leaveEventCount++;\r\n  addListItem(&quot;This is mouseleave event &quot; + leaveEventCount + &quot;.&quot;);\r\n});\r\nfunction addListItem(text) {\r\n  \/\/ Cr\u00e9ez un nouveau n\u0153ud de texte en utilisant le texte fourni\r\n  var newTextNode = document.createTextNode(text);\r\n  \/\/ Cr\u00e9er un nouvel \u00e9l\u00e9ment li\r\n  var newListItem = document.createElement(&quot;li&quot;);\r\n  \/\/ Ajouter un n\u0153ud de texte \u00e0 un \u00e9l\u00e9ment li\r\n  newListItem.appendChild(newTextNode);\r\n  \/\/ Ajouter l'\u00e9l\u00e9ment de liste nouvellement cr\u00e9\u00e9 \u00e0 la liste\r\n  unorderedList.appendChild(newListItem);\r\n}\r\n&lt;SCRIPT&gt;\r\n&lt;style&gt;\r\n#mouseTarget {\r\n  box-sizing: border-box;\r\n  width: 15rem;\r\n  border: 1px solid #333;\r\n}\r\n&lt;\/style&gt;\r\n&lt;div id=&quot;mouseTarget&quot;&gt;\r\n  &lt;ul id=&quot;unorderedList&quot;&gt;\r\n    &lt;li&gt;No events yet!&lt;\/li&gt;\r\n  &lt;\/ul&gt;\r\n&lt;\/div&gt;\r\n<\/pre>\n<h2><span style=\"color: #008000;\">onmouseleave<\/span><\/h2>\n<p style=\"text-align: justify;\">\u2013 le pointeur de la souris a quitt\u00e9 l&rsquo;\u00e9l\u00e9ment. Gestionnaire de l&rsquo;\u00e9v\u00e9nement mouseleave qui se produit lorsque le curseur de la souris quitte la zone de l&rsquo;\u00e9l\u00e9ment. Contrairement \u00e0 mouseout, l&rsquo;\u00e9v\u00e9nement mouseenter ne bouillonne pas, c&rsquo;est-\u00e0-dire qu&rsquo;il ne se produit pas si le curseur de la souris entre dans un \u00e9l\u00e9ment enfant de l&rsquo;\u00e9l\u00e9ment sp\u00e9cifi\u00e9. L&rsquo;\u00e9v\u00e9nement onmouseleave se produit lorsque le pointeur de la souris quitte un \u00e9l\u00e9ment. L&rsquo;\u00e9v\u00e9nement onmouseleave est souvent utilis\u00e9 avec l&rsquo;\u00e9v\u00e9nement onmouseenter, qui se produit lorsque le pointeur de la souris entre dans un \u00e9l\u00e9ment. L&rsquo;\u00e9v\u00e9nement onmouseleave est similaire \u00e0 l&rsquo;\u00e9v\u00e9nement onmouseout. La diff\u00e9rence est que l&rsquo;\u00e9v\u00e9nement onmouseleave ne se propage pas (ne se propage pas dans la hi\u00e9rarchie du document).<\/p>\n<p style=\"text-align: justify;\">L&rsquo;\u00e9v\u00e9nement mouseleave est d\u00e9clench\u00e9 lorsque le curseur du manipulateur (g\u00e9n\u00e9ralement la souris) se d\u00e9place en dehors des limites d&rsquo;un \u00e9l\u00e9ment. mouseleave et mouseout sont similaires, mais diff\u00e8rent en ce que mouseleave ne flotte pas, tandis que mouseout le fait. Cela signifie que mouseleave se d\u00e9clenche lorsque le curseur quitte les limites de l&rsquo;\u00e9l\u00e9ment et de tous ses \u00e9l\u00e9ments enfants, tandis que mouseout se d\u00e9clenche lorsque le curseur quitte les limites de l&rsquo;\u00e9l\u00e9ment ou de l&rsquo;un de ses \u00e9l\u00e9ments enfants (m\u00eame si le curseur est toujours dans l&rsquo;\u00e9l\u00e9ment).<\/p>\n<p style=\"text-align: justify;\">Appeler une fonction lorsque le pointeur de la souris se d\u00e9place en dehors de l&rsquo;image:<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;img onmouseleave=&quot;normalImg(this)&quot; src=&quot;smiley.gif&quot; alt=&quot;Smiley&quot;&gt;\r\n<\/pre>\n<p style=\"text-align: justify;\">JavaScript:<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\nobject.onmouseleave = function(){myScript};\r\nJavaScript, using the addEventListener() method:\r\nobject.addEventListener(&quot;mouseleave&quot;, myScript);\r\n<\/pre>\n<p style=\"text-align: justify;\">Cet exemple d\u00e9montre la diff\u00e9rence entre les \u00e9v\u00e9nements onmousemove, onmouseleave et onmouseout:<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;div onmousemove=&quot;myMoveFunction()&quot;&gt;\r\n  &lt;p id=&quot;demo1&quot;&gt;I will demonstrate onmousemove!&lt;\/p&gt;\r\n&lt;\/div&gt;\r\n&lt;div onmouseleave=&quot;myLeaveFunction()&quot;&gt;\r\n  &lt;p id=&quot;demo2&quot;&gt;I will demonstrate onmouseleave!&lt;\/p&gt;\r\n&lt;\/div&gt;\r\n&lt;div onmouseout=&quot;myOutFunction()&quot;&gt;\r\n  &lt;p id=&quot;demo3&quot;&gt;I will demonstrate onmouseout!&lt;\/p&gt;\r\n&lt;\/div&gt;\r\n<\/pre>\n<p style=\"text-align: justify;\">La documentation mouseout contient un exemple illustrant la diff\u00e9rence entre mouseout et mouseleave. L&rsquo;exemple suivant montre comment utiliser mouseout pour imiter le principe de d\u00e9l\u00e9gation d&rsquo;\u00e9v\u00e9nement mouseleave.<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;ul id=&quot;test&quot;&gt;\r\n  &lt;li&gt;\r\n    &lt;ul class=&quot;leave-sensitive&quot;&gt;\r\n      &lt;li&gt;item 1-1&lt;\/li&gt;\r\n      &lt;li&gt;item 1-2&lt;\/li&gt;\r\n    &lt;\/ul&gt;\r\n  &lt;\/li&gt;\r\n  &lt;li&gt;\r\n    &lt;ul class=&quot;leave-sensitive&quot;&gt;\r\n      &lt;li&gt;item 2-1&lt;\/li&gt;\r\n      &lt;li&gt;item 2-2&lt;\/li&gt;\r\n    &lt;\/ul&gt;\r\n  &lt;\/li&gt;\r\n&lt;\/ul&gt;\r\n&lt;script&gt;\r\n  var delegationSelector = &quot;.leave-sensitive&quot;;\r\n  document.getElementById(&quot;test&quot;).addEventListener(\r\n    &quot;mouseout&quot;,\r\n    function (event) {\r\n      var target = event.target,\r\n        related = event.relatedTarget,\r\n        match;\r\n      \/\/ search for a parent node matching the delegation selector\r\n      while (\r\n        target &amp;&amp;\r\n        target != document &amp;&amp;\r\n        !(match = matches(target, delegationSelector))\r\n      ) {\r\n        target = target.parentNode;\r\n      }\r\n\r\n      \/\/ exit if no matching node has been found\r\n      if (!match) {\r\n        return;\r\n      }\r\n      \/\/ loop through the parent of the related target to make sure that it's not a child of the target\r\n      while (related &amp;&amp; related != target &amp;&amp; related != document) {\r\n        related = related.parentNode;\r\n      }\r\n      \/\/ exit if this is the case\r\n      if (related == target) {\r\n        return;\r\n      }\r\n      \/\/ the &quot;delegated mouseleave&quot; handler can now be executed\r\n      \/\/ change the color of the text\r\n      target.style.color = &quot;orange&quot;;\r\n      \/\/ reset the color after a small amount of time\r\n      setTimeout(function () {\r\n        target.style.color = &quot;&quot;;\r\n      }, 500);\r\n    },\r\n    false,\r\n  );\r\n  \/\/ function used to check if a DOM element matches a given selector\r\n  \/\/ the following code can be replaced by this IE8 compatible function: https:\/\/gist.github.com\/2851541\r\n  function matches(elem, selector) {\r\n    \/\/ the matchesSelector is prefixed in most (if not all) browsers\r\n    return elem.matchesSelector(selector);\r\n  }\r\n&lt;\/script&gt;\r\n<\/pre>\n<h2><span style=\"color: #008000;\">onmousemove<\/span><\/h2>\n<p style=\"text-align: justify;\">&#8211; le pointeur de la souris est d\u00e9plac\u00e9 sur l&rsquo;\u00e9l\u00e9ment. Gestionnaire de l&rsquo;\u00e9v\u00e9nement mousemove qui se produit lorsque le pointeur de la souris se d\u00e9place sur un \u00e9l\u00e9ment.<br \/>\ntype &#8211; Indique le type d&rsquo;\u00e9v\u00e9nement.<br \/>\ntarget &#8211; Sp\u00e9cifie l&rsquo;objet auquel l&rsquo;\u00e9v\u00e9nement a \u00e9t\u00e9 initialement envoy\u00e9.<br \/>\nlayerX, layerY, pageX, pageY, screenX, screenY &#8211; L&#8217;emplacement du curseur lorsque l&rsquo;\u00e9v\u00e9nement s&rsquo;est produit MouseMove.<\/p>\n<p style=\"text-align: justify;\">JavaScript:<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\nobject.onmousemove = function(){myScript};\r\nJavaScript, using the addEventListener() method:\r\nobject.addEventListener(&quot;mousemove&quot;, myScript);\r\n<\/pre>\n<p style=\"text-align: justify;\">Appeler une fonction lorsque la souris survole un \u00e9l\u00e9ment div:<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;div onmousemove=&quot;myFunction()&quot;&gt;Move the cursor over me&lt;\/div&gt;\r\n<\/pre>\n<p style=\"text-align: justify;\">L&rsquo;exemple suivant utilise les \u00e9v\u00e9nements mousedown, mousemove et mouseup pour permettre \u00e0 l&rsquo;utilisateur de dessiner sur un canevas HTML. Son fonctionnement est simple: l&rsquo;\u00e9paisseur de la ligne est fix\u00e9e \u00e0 1 et la couleur est toujours noire. Lorsque la page se charge, les constantes myPics et context sont cr\u00e9\u00e9es pour stocker une r\u00e9f\u00e9rence au canevas et au contexte 2D que nous utiliserons pour le dessin. Le dessin commence lorsque l&rsquo;\u00e9v\u00e9nement mousedown est d\u00e9clench\u00e9. Nous stockons d\u2019abord les coordonn\u00e9es x et y du pointeur de la souris dans les variables x et y, puis nous d\u00e9finissons isDrawing sur true. Lorsque le pointeur de la souris se d\u00e9place sur la page, l&rsquo;\u00e9v\u00e9nement mousemove est d\u00e9clench\u00e9. Si isDrawing est vrai, le gestionnaire d&rsquo;\u00e9v\u00e9nements appelle la fonction drawLine pour tracer une ligne \u00e0 partir des valeurs x et y stock\u00e9es jusqu&rsquo;\u00e0 l&#8217;emplacement actuel. Lorsque la fonction drawLine() revient, nous ajustons les coordonn\u00e9es puis les stockons dans les coordonn\u00e9es x et y. L&rsquo;\u00e9v\u00e9nement mouseup dessine le dernier segment de ligne, d\u00e9finit x et y sur 0 et arr\u00eate le dessin ult\u00e9rieur en d\u00e9finissant isDrawing sur false.<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;script&gt;\r\n\/\/ When true, moving the mouse draws on the canvas\r\nlet isDrawing = false;\r\nlet x = 0;\r\nlet y = 0;\r\nconst myPics = document.getElementById(&quot;myPics&quot;);\r\nconst context = myPics.getContext(&quot;2d&quot;);\r\n\/\/ event.offsetX, event.offsetY gives the (x,y) offset from the edge of the canvas.\r\n\/\/ Add the event listeners for mousedown, mousemove, and mouseup\r\nmyPics.addEventListener(&quot;mousedown&quot;, (e) =&gt; {\r\n  x = e.offsetX;\r\n  y = e.offsetY;\r\n  isDrawing = true;\r\n});\r\nmyPics.addEventListener(&quot;mousemove&quot;, (e) =&gt; {\r\n  if (isDrawing) {\r\n    drawLine(context, x, y, e.offsetX, e.offsetY);\r\n    x = e.offsetX;\r\n    y = e.offsetY;\r\n  }\r\n});\r\nwindow.addEventListener(&quot;mouseup&quot;, (e) =&gt; {\r\n  if (isDrawing) {\r\n    drawLine(context, x, y, e.offsetX, e.offsetY);\r\n    x = 0;\r\n    y = 0;\r\n    isDrawing = false;\r\n  }\r\n});\r\nfunction drawLine(context, x1, y1, x2, y2) {\r\n  context.beginPath();\r\n  context.strokeStyle = &quot;black&quot;;\r\n  context.lineWidth = 1;\r\n  context.moveTo(x1, y1);\r\n  context.lineTo(x2, y2);\r\n  context.stroke();\r\n  context.closePath();\r\n}\r\n&lt;\/script&gt;\r\n&lt;style&gt;\r\ncanvas {\r\n  border: 1px solid black;\r\n  width: 560px;\r\n  height: 360px;\r\n}\r\n&lt;\/style&gt;\r\n&lt;h1&gt;Drawing with mouse events&lt;\/h1&gt;\r\n&lt;canvas id=&quot;myPics&quot; width=&quot;560&quot; height=&quot;360&quot;&gt;&lt;\/canvas&gt;\r\n<\/pre>\n<h2><span style=\"color: #008000;\">onmouseout<\/span><\/h2>\n<p style=\"text-align: justify;\">&#8211; le pointeur de la souris s&rsquo;\u00e9loigne de l&rsquo;\u00e9l\u00e9ment. Gestionnaire de l&rsquo;\u00e9v\u00e9nement mouseout qui se produit lorsque le pointeur de la souris quitte l&rsquo;\u00e9l\u00e9ment. Ex\u00e9cute le code JavaScript lorsqu&rsquo;un \u00e9v\u00e9nement MouseOut se produit; c&rsquo;est-\u00e0-dire chaque fois que le pointeur de la souris sort de la zone (dans l&rsquo;image cliquable du client) ou du lien hypertexte. Si le pointeur de la souris se d\u00e9place d&rsquo;une zone de la carte d&rsquo;image client \u00e0 une autre, vous recevrez d&rsquo;abord onMouseOut pour la premi\u00e8re zone, puis onMouseOver pour la deuxi\u00e8me zone. Les balises de zone qui utilisent onMouseOut doivent avoir un attribut HREF dans la balise AREA. Vous devez renvoyer true dans le gestionnaire d&rsquo;\u00e9v\u00e9nements si vous souhaitez d\u00e9finir les propri\u00e9t\u00e9s status ou defaultStatus \u00e0 l&rsquo;aide de onMouseOver.<\/p>\n\n<p style=\"text-align: justify;\">L&rsquo;\u00e9v\u00e9nement onmouseout se produit lorsque le pointeur de la souris quitte les limites d&rsquo;un \u00e9l\u00e9ment. L&rsquo;\u00e9v\u00e9nement onmouseout est souvent utilis\u00e9 en conjonction avec l&rsquo;\u00e9v\u00e9nement onmouseover, qui se produit lorsque le pointeur survole un \u00e9l\u00e9ment. L&rsquo;\u00e9v\u00e9nement onmouseout est similaire \u00e0 l&rsquo;\u00e9v\u00e9nement onmouseleave. La diff\u00e9rence est que l&rsquo;\u00e9v\u00e9nement onmouseleave ne se propage pas (ne se propage pas dans la hi\u00e9rarchie du document). <\/p>\n<p style=\"text-align: justify;\">type &#8211; Indique le type d&rsquo;\u00e9v\u00e9nement.<br \/>\ntarget &#8211; Sp\u00e9cifie l&rsquo;objet auquel l&rsquo;\u00e9v\u00e9nement a \u00e9t\u00e9 initialement envoy\u00e9.<br \/>\nlayerX, layerY, pageX, pageY, screenX, screenY &#8211; L&#8217;emplacement du curseur lorsque l&rsquo;\u00e9v\u00e9nement MouseOut se produit<\/p>\n<p style=\"text-align: justify;\">Appeler une fonction lorsque le pointeur de la souris se d\u00e9place en dehors de l&rsquo;image:<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;img onmouseout=&quot;normalImg(this)&quot; src=&quot;smiley.gif&quot; alt=&quot;Smiley&quot;&gt;\r\n<\/pre>\n<p style=\"text-align: justify;\">L&rsquo;exemple suivant illustre la diff\u00e9rence entre les \u00e9v\u00e9nements mouseout et mouseleave. Un \u00e9v\u00e9nement mouseleave est ajout\u00e9 \u00e0 l&rsquo;ul pour colorer la liste en violet chaque fois que la souris quitte l&rsquo;ul. mouseout est ajout\u00e9 \u00e0 la liste pour colorer l&rsquo;\u00e9l\u00e9ment cible en orange lorsque la souris le quitte. Lorsque vous essayez ceci, vous constaterez que mouseout est transmis aux \u00e9l\u00e9ments de liste individuels, tandis que mouseleave est transmis \u00e0 la liste enti\u00e8re, gr\u00e2ce \u00e0 la hi\u00e9rarchie des \u00e9l\u00e9ments et au fait que les \u00e9l\u00e9ments de la liste masquent l&rsquo;ul sous-jacent.<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;script&gt;\r\nconst test = document.getElementById(&quot;test&quot;);\r\n\/\/ Briefly make the list purple when the mouse moves off the\r\n\/\/ &lt;ul&gt; element\r\ntest.addEventListener(\r\n  &quot;mouseleave&quot;,\r\n  (event) =&gt; {\r\n    \/\/ highlight the mouseleave target\r\n    event.target.style.color = &quot;purple&quot;;\r\n\r\n    \/\/ reset the color after a short delay\r\n    setTimeout(() =&gt; {\r\n      event.target.style.color = &quot;&quot;;\r\n    }, 1000);\r\n  },\r\n  false,\r\n);\r\n\/\/ Briefly make an &lt;li&gt; orange when the mouse moves off of it\r\ntest.addEventListener(\r\n  &quot;mouseout&quot;,\r\n  (event) =&gt; {\r\n    \/\/ highlight the mouseout target\r\n    event.target.style.color = &quot;orange&quot;;\r\n\r\n    \/\/ reset the color after a short delay\r\n    setTimeout(() =&gt; {\r\n      event.target.style.color = &quot;&quot;;\r\n    }, 500);\r\n  },\r\n  false,\r\n);\r\n&lt;\/script&gt;\r\n&lt;ul id=&quot;test&quot;&gt;\r\n  &lt;li&gt;item 1&lt;\/li&gt;\r\n  &lt;li&gt;item 2&lt;\/li&gt;\r\n  &lt;li&gt;item 3&lt;\/li&gt;\r\n&lt;\/ul&gt;\r\n<\/pre>\n<h2><span style=\"color: #008000;\">onmouseover<\/span><\/h2>\n<p style=\"text-align: justify;\">&#8211; le pointeur de la souris se d\u00e9place sur l&rsquo;\u00e9l\u00e9ment. Gestionnaire pour l&rsquo;\u00e9v\u00e9nement mouseover, qui se produit lorsque le curseur de la souris survole un \u00e9l\u00e9ment. L&rsquo;\u00e9v\u00e9nement onmouseover se produit lorsque le pointeur de la souris entre dans un \u00e9l\u00e9ment. L&rsquo;\u00e9v\u00e9nement onmouseover est souvent utilis\u00e9 en conjonction avec l&rsquo;\u00e9v\u00e9nement onmouseout, qui se produit lorsque le pointeur de la souris quitte un \u00e9l\u00e9ment. L&rsquo;\u00e9v\u00e9nement onmouseover est similaire \u00e0 l&rsquo;\u00e9v\u00e9nement onmouseenter. La diff\u00e9rence est que l&rsquo;\u00e9v\u00e9nement onmouseenter ne se propage pas (ne se propage pas dans la hi\u00e9rarchie du document). L&rsquo;\u00e9v\u00e9nement mouseover est d\u00e9clench\u00e9 sur un \u00e9l\u00e9ment lorsqu&rsquo;un p\u00e9riph\u00e9rique de pointage (tel qu&rsquo;une souris ou un pav\u00e9 tactile) est utilis\u00e9 pour d\u00e9placer le curseur sur l&rsquo;\u00e9l\u00e9ment ou l&rsquo;un de ses \u00e9l\u00e9ments enfants.<\/p>\n<p style=\"text-align: justify;\">Appeler une fonction lorsque le pointeur de la souris survole une image:<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;img onmouseover=&quot;bigImg(this)&quot; src=&quot;smiley.gif&quot; alt=&quot;Smiley&quot;&gt;\r\n<\/pre>\n<p style=\"text-align: justify;\">Par d\u00e9faut, la valeur HREF d&rsquo;une ancre s&rsquo;affiche dans la barre d&rsquo;\u00e9tat en bas du navigateur lorsque l&rsquo;utilisateur passe le pointeur de la souris sur l&rsquo;ancre. Dans l&rsquo;exemple suivant, onMouseOver affiche un message personnalis\u00e9 \u00ab\u00a0Click this if you dare.\u00a0\u00bb<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;A HREF=&quot;http:\/\/home.netscape.com\/&quot; onMouseOver=&quot;window.status='Click this if you dare!'; return true&quot;&gt;Click me&lt;\/A&gt;\r\n<\/pre>\n<h2><span style=\"color: #008000;\">onmouseup<\/span><\/h2>\n<p style=\"text-align: justify;\">&#8211; le bouton de la souris est rel\u00e2ch\u00e9 sur l&rsquo;\u00e9l\u00e9ment. Gestionnaire de l&rsquo;\u00e9v\u00e9nement mouseup qui se produit lorsque le bouton de la souris est rel\u00e2ch\u00e9 sur un \u00e9l\u00e9ment. Si onMouseUp renvoie false, l&rsquo;action par d\u00e9faut est annul\u00e9e. Par exemple, si onMouseUp renvoie false lorsqu&rsquo;un lien hypertexte est actif, le lien n&rsquo;est pas activ\u00e9. Ainsi, si MouseUp se produit lorsque le lien hypertexte n&rsquo;est pas actif (\u00e9ventuellement lorsque onMouseDown renvoie false), le lien n&rsquo;est pas activ\u00e9. L&rsquo;activation est d\u00e9clench\u00e9e par l&rsquo;\u00e9v\u00e9nement MouseDown sur le lien. Lorsqu&rsquo;un lien est actif, il change de couleur pour refl\u00e9ter le nouvel \u00e9tat. L&rsquo;\u00e9v\u00e9nement onmouseup se produit lorsque le bouton de la souris est rel\u00e2ch\u00e9 sur un \u00e9l\u00e9ment.<\/p>\n<p style=\"text-align: justify;\">L&rsquo;\u00e9v\u00e9nement mouseup est d\u00e9clench\u00e9 sur un \u00e9l\u00e9ment lorsqu&rsquo;un bouton d&rsquo;un p\u00e9riph\u00e9rique de pointage (tel qu&rsquo;une souris ou un trackpad) est rel\u00e2ch\u00e9 alors que le pointeur est \u00e0 l&rsquo;int\u00e9rieur. Les \u00e9v\u00e9nements mouseup sont l&rsquo;oppos\u00e9 des \u00e9v\u00e9nements mousedown.<\/p>\n<p style=\"text-align: justify;\">Ordre des \u00e9v\u00e9nements pour les boutons gauche et central de la souris:<br \/>\nonmousedown<br \/>\nonmouseup<br \/>\n\u043f\u043e \u043a\u043b\u0438\u043a\u0443<br \/>\nOrdre des \u00e9v\u00e9nements du bouton droit de la souris:<br \/>\nonmousedown<br \/>\nonmouseup<br \/>\noncontextmenu<\/p>\n<p style=\"text-align: justify;\">type &#8211; Indique le type d&rsquo;\u00e9v\u00e9nement.<br \/>\ntarget &#8211; Sp\u00e9cifie l&rsquo;objet auquel l&rsquo;\u00e9v\u00e9nement a \u00e9t\u00e9 initialement envoy\u00e9.<br \/>\nlayerX, layerY, pageX, pageY, screenX, screenY &#8211; L&#8217;emplacement du curseur lorsque l&rsquo;\u00e9v\u00e9nement s&rsquo;est produit MouseUp.<br \/>\nwhich -Repr\u00e9sente 1 pour le bouton gauche de la souris et 3 pour le bouton droit de la souris.<br \/>\nmodifiers &#8211; Contient une liste de touches de modification qui ont \u00e9t\u00e9 enfonc\u00e9es lorsque l&rsquo;\u00e9v\u00e9nement MouseUp s&rsquo;est produit.<\/p>\n<p style=\"text-align: justify;\">Appeler une fonction lorsque le bouton de la souris est rel\u00e2ch\u00e9 sur un paragraphe:<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;p onmouseup=&quot;mouseUp()&quot;&gt;Click the text!&lt;\/p&gt;\r\n<\/pre>\n<h2><span style=\"color: #008000;\">onmousewheel (onwheel)<\/span><\/h2>\n<p style=\"text-align: justify;\">\u2013 molette de la souris utilis\u00e9e. Gestionnaire d&rsquo;\u00e9v\u00e9nements wheel, qui se produit lorsque la molette de la souris est d\u00e9plac\u00e9e vers l&rsquo;avant ou vers l&rsquo;arri\u00e8re sur un \u00e9l\u00e9ment. L&rsquo;\u00e9v\u00e9nement onwheel se produit lorsque la molette de la souris survole un \u00e9l\u00e9ment. L&rsquo;\u00e9v\u00e9nement onwheel se produit \u00e9galement lorsque l&rsquo;utilisateur fait d\u00e9filer une page \u00e0 l&rsquo;aide d&rsquo;un pav\u00e9 tactile. Cet \u00e9v\u00e9nement remplace l&rsquo;\u00e9v\u00e9nement de molette de souris h\u00e9rit\u00e9 non standard. Ne confondez pas l\u2019\u00e9v\u00e9nement de roue avec l\u2019\u00e9v\u00e9nement de d\u00e9filement. L&rsquo;\u00e9v\u00e9nement wheel ne d\u00e9clenche pas n\u00e9cessairement un \u00e9v\u00e9nement scroll. Par exemple, un \u00e9l\u00e9ment peut ne pas \u00eatre du tout d\u00e9filable. Les actions de zoom utilisant la molette ou le pav\u00e9 tactile d\u00e9clenchent \u00e9galement des \u00e9v\u00e9nements de molette. L&rsquo;\u00e9v\u00e9nement de d\u00e9filement n&rsquo;est pas n\u00e9cessairement d\u00e9clench\u00e9 par l&rsquo;\u00e9v\u00e9nement de roue. Les \u00e9l\u00e9ments peuvent \u00e9galement \u00eatre parcourus \u00e0 l&rsquo;aide du clavier, en faisant glisser la barre de d\u00e9filement ou en utilisant JavaScript.<\/p>\n<p style=\"text-align: justify;\">M\u00eame si un \u00e9v\u00e9nement de roue d\u00e9clenche le d\u00e9filement, les valeurs delta* dans l&rsquo;\u00e9v\u00e9nement de roue ne refl\u00e8tent pas n\u00e9cessairement la direction dans laquelle le contenu d\u00e9file. Par cons\u00e9quent, ne vous fiez pas aux propri\u00e9t\u00e9s delta* de l\u2019\u00e9v\u00e9nement wheel pour obtenir la direction de d\u00e9filement. Au lieu de cela, d\u00e9tectez les modifications apport\u00e9es aux valeurs ScrollLeft et ScrollTop de la cible dans l&rsquo;\u00e9v\u00e9nement de d\u00e9filement.<\/p>\n<p style=\"text-align: justify;\">L&rsquo;\u00e9v\u00e9nement Wheel peut \u00eatre annul\u00e9. Si l&rsquo;\u00e9v\u00e9nement est annul\u00e9, aucun d\u00e9filement ni zoom ne se produit. Cela peut entra\u00eener des probl\u00e8mes de performances car le navigateur doit attendre que chaque \u00e9v\u00e9nement de roue soit trait\u00e9 avant de faire d\u00e9filer r\u00e9ellement le contenu. Cela peut \u00eatre \u00e9vit\u00e9 en d\u00e9finissant passive: true lors de l&rsquo;appel de addEventListener(), ce qui peut amener le navigateur \u00e0 g\u00e9n\u00e9rer des \u00e9v\u00e9nements de roue non annulables.<\/p>\n<p style=\"text-align: justify;\">Lorsqu&rsquo;un utilisateur fait d\u00e9filer la molette de sa souris sur un div, modifiez sa taille de police:<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\ndocument.getElementById(&quot;myDIV&quot;).addEventListener(&quot;wheel&quot;, myFunction);\r\nfunction myFunction() {\r\n  this.style.fontSize = &quot;35px&quot;;\r\n}\r\n<\/pre>\n<p style=\"text-align: justify;\">Cet exemple montre comment mettre \u00e0 l&rsquo;\u00e9chelle un \u00e9l\u00e9ment \u00e0 l&rsquo;aide de la molette de la souris (ou d&rsquo;un autre p\u00e9riph\u00e9rique de pointage).<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;script&gt;\r\nfunction zoom(event) {\r\n  event.preventDefault();\r\n  scale += event.deltaY * -0.01;\r\n  \/\/ Restrict scale\r\n  scale = Math.min(Math.max(0.125, scale), 4);\r\n\r\n  \/\/ Apply scale transform\r\n  el.style.transform = `scale(${scale})`;\r\n}\r\nlet scale = 1;\r\nconst el = document.querySelector(&quot;div&quot;);\r\nel.onwheel = zoom;\r\n&lt;\/script&gt;\r\n&lt;style&gt;\r\nbody {\r\n  min-height: 100vh;\r\n  margin: 0;\r\n  display: flex;\r\n  align-items: center;\r\n  justify-content: center;\r\n}\r\ndiv {\r\n  width: 105px;\r\n  height: 105px;\r\n  background: #cdf;\r\n  padding: 5px;\r\n}\r\n&lt;\/style&gt;\r\n&lt;div&gt;Scale me with your mouse wheel.&lt;\/div&gt;\r\n<\/pre>\n<h2><span style=\"color: #008000;\">onoffline<\/span><\/h2>\n<p style=\"text-align: justify;\">\u2013 Le navigateur fonctionne en mode hors ligne. L&rsquo;\u00e9v\u00e9nement onoffline se produit lorsque le navigateur commence \u00e0 fonctionner hors ligne. L&rsquo;\u00e9v\u00e9nement onoffline est l&rsquo;oppos\u00e9 de l&rsquo;\u00e9v\u00e9nement ononline.<\/p>\n<p style=\"text-align: justify;\">Appeler une fonction lorsque le navigateur est hors ligne:<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;body onoffline=&quot;myFunction()&quot;&gt;\r\n<\/pre>\n<h2><span style=\"color: #008000;\">ononline<\/span><\/h2>\n<p style=\"text-align: justify;\">\u2013 Le navigateur est lanc\u00e9 en mode en ligne. L&rsquo;\u00e9v\u00e9nement ononline se produit lorsque le navigateur se connecte. L&rsquo;\u00e9v\u00e9nement en ligne est l&rsquo;oppos\u00e9 de l&rsquo;\u00e9v\u00e9nement hors ligne.<\/p>\n<p style=\"text-align: justify;\">Appeler une fonction lorsque le navigateur est en ligne:<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;body ononline=&quot;myFunction()&quot;&gt;\r\n<\/pre>\n<h2><span style=\"color: #008000;\">onpagehide<\/span><\/h2>\n<p style=\"text-align: justify;\">&#8211; l&rsquo;utilisateur quitte la page. L&rsquo;\u00e9v\u00e9nement onpagehide se produit lorsque l&rsquo;utilisateur quitte une page Web. Il existe plusieurs fa\u00e7ons de quitter la page. Par exemple. cliquer sur un lien, actualiser la page, soumettre un formulaire, fermer la fen\u00eatre du navigateur, etc. L&rsquo;\u00e9v\u00e9nement onpagehide est parfois utilis\u00e9 \u00e0 la place de l&rsquo;\u00e9v\u00e9nement onunload, car l&rsquo;\u00e9v\u00e9nement onunload emp\u00eache la page d&rsquo;\u00eatre mise en cache. Pour savoir si une page est charg\u00e9e directement depuis le serveur ou mise en cache, vous pouvez utiliser la propri\u00e9t\u00e9 persisted Objet PageTransitionEvent. Cette propri\u00e9t\u00e9 renvoie true si la page est mise en cache par le navigateur, et false dans le cas contraire.<\/p>\n<p style=\"text-align: justify;\">Appeler une fonction lorsque l&rsquo;utilisateur quitte la page Web:<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;body onpagehide=&quot;myFunction()&quot;&gt;\r\n<\/pre>\n<h2><span style=\"color: #008000;\">onpageshow<\/span><\/h2>\n<p style=\"text-align: justify;\">&#8211; l&rsquo;utilisateur acc\u00e8de \u00e0 la page. L&rsquo;\u00e9v\u00e9nement onpageshow se produit lorsqu&rsquo;un utilisateur acc\u00e8de \u00e0 une page Web. L&rsquo;\u00e9v\u00e9nement onpageshow est similaire \u00e0 l&rsquo;\u00e9v\u00e9nement onload, sauf qu&rsquo;il se produit apr\u00e8s l&rsquo;\u00e9v\u00e9nement onload lors du premier chargement de la page. De plus, l&rsquo;\u00e9v\u00e9nement onpageshow se d\u00e9clenche \u00e0 chaque fois que la page est charg\u00e9e, tandis que l&rsquo;\u00e9v\u00e9nement onload ne se d\u00e9clenche pas lors du chargement de la page \u00e0 partir du cache.Pour savoir si une page a \u00e9t\u00e9 charg\u00e9e directement depuis le serveur ou mise en cache, vous pouvez utiliser la propri\u00e9t\u00e9 persisted de l&rsquo;objet PageTransitionEvent. Cette propri\u00e9t\u00e9 renvoie true si la page est mise en cache par le navigateur, et false sinon<\/p>\n<p style=\"text-align: justify;\">Appeler une fonction lorsque l&rsquo;utilisateur acc\u00e8de \u00e0 une page Web:<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;body onpageshow=&quot;myFunction()&quot;&gt;\r\n<\/pre>\n<h2><span style=\"color: #008000;\">onpaste<\/span><\/h2>\n<p style=\"text-align: justify;\">\u2013 insertion de contenu termin\u00e9e. L&rsquo;\u00e9v\u00e9nement onpaste se produit lorsque l&rsquo;utilisateur colle du contenu dans un \u00e9l\u00e9ment. L&rsquo;\u00e9v\u00e9nement onpaste est le plus souvent utilis\u00e9 pour les \u00e9l\u00e9ments input avec type=\u00a0\u00bbtext\u00a0\u00bb. L&rsquo;\u00e9v\u00e9nement de collage de l&rsquo;API Presse-papiers est d\u00e9clench\u00e9 lorsque l&rsquo;utilisateur lance une action de collage via l&rsquo;interface utilisateur du navigateur. Si le curseur se trouve dans un contexte modifiable (tel qu&rsquo;une zone de texte ou un \u00e9l\u00e9ment avec l&rsquo;attribut contenteditable d\u00e9fini sur true), l&rsquo;action par d\u00e9faut consiste \u00e0 coller le contenu du presse-papiers dans le document \u00e0 la position du curseur. Le gestionnaire de cet \u00e9v\u00e9nement peut acc\u00e9der au contenu du presse-papiers en appelant la m\u00e9thode getData() sur la propri\u00e9t\u00e9 clipboardData de l&rsquo;\u00e9v\u00e9nement. Pour remplacer le comportement par d\u00e9faut (par exemple, pour coller des donn\u00e9es diff\u00e9rentes ou transformer le contenu du presse-papiers), le gestionnaire d&rsquo;\u00e9v\u00e9nements doit annuler l&rsquo;action par d\u00e9faut avec event.preventDefault(), puis coller les donn\u00e9es souhait\u00e9es manuellement. Vous pouvez cr\u00e9er et envoyer un \u00e9v\u00e9nement de collage synth\u00e9tique, mais cela n&rsquo;affectera pas le contenu du document. Cet \u00e9v\u00e9nement appara\u00eet, il peut \u00eatre annul\u00e9 et il est compos\u00e9. Utilis\u00e9 uniquement pour les champs de saisie.<\/p>\n<p style=\"text-align: justify;\">Appeler une fonction lorsque du texte est ins\u00e9r\u00e9 dans un \u00e9l\u00e9ment input:<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;input type=&quot;text&quot; onpaste=&quot;myFunction()&quot; value=&quot;Paste something here&quot;&gt;\r\n<\/pre>\n<p style=\"text-align: justify;\">Appelez une fonction lorsque du texte est ins\u00e9r\u00e9 dans l&rsquo;\u00e9l\u00e9ment p. (Notez que contenteditable est d\u00e9fini sur \u00abtrue\u00bb):<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;p contenteditable=&quot;true&quot; onpaste=&quot;myFunction()&quot;&gt;Try to paste something inside this paragraph.&lt;\/p&gt;\r\n<\/pre>\n<p style=\"text-align: justify;\">Exemple<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;script&gt;\r\nconst target = document.querySelector(&quot;div.target&quot;);\r\ntarget.addEventListener(&quot;paste&quot;, (event) =&gt; {\r\n  event.preventDefault();\r\n  let paste = (event.clipboardData || window.clipboardData).getData(&quot;text&quot;);\r\n  paste = paste.toUpperCase();\r\n  const selection = window.getSelection();\r\n  if (!selection.rangeCount) return;\r\n  selection.deleteFromDocument();\r\n  selection.getRangeAt(0).insertNode(document.createTextNode(paste));\r\n  selection.collapseToEnd();\r\n});\r\n&lt;script&gt;\r\n&lt;div class=&quot;source&quot; contenteditable=&quot;true&quot;&gt;Copy text from this box.&lt;\/div&gt;\r\n&lt;div class=&quot;target&quot; contenteditable=&quot;true&quot;&gt;And paste it into this one.&lt;\/div&gt;\r\n<\/pre>\n<h2><span style=\"color: #008000;\">onpause<\/span><\/h2>\n<p style=\"text-align: justify;\">\u2013 mettre la lecture en pause. Gestionnaire de l&rsquo;\u00e9v\u00e9nement onpause, qui se produit lorsque la lecture audio\/vid\u00e9o est interrompue par l&rsquo;utilisateur ou par programmation. L&rsquo;\u00e9v\u00e9nement onpause se produit lorsque l&rsquo;audio\/la vid\u00e9o est mis en pause. L&rsquo;\u00e9v\u00e9nement onpause se produit \u00e9galement lorsque l&rsquo;audio\/vid\u00e9o a atteint la fin.<\/p>\n<p style=\"text-align: justify;\">Appeler une fonction lorsque la vid\u00e9o est en pause:<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;video onpause=&quot;myFunction()&quot;&gt;\r\n<\/pre>\n<h2><span style=\"color: #008000;\">onplay<\/span><\/h2>\n<p style=\"text-align: justify;\">\u2013 d\u00e9marrer la lecture. Gestionnaire de l&rsquo;\u00e9v\u00e9nement onplay, qui est d\u00e9clench\u00e9 lorsque la lecture d&rsquo;un fichier audio\/vid\u00e9o a commenc\u00e9.<\/p>\n<p style=\"text-align: justify;\">Appeler une fonction lorsque la lecture de la vid\u00e9o commence:<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;video onplay=&quot;myFunction()&quot;&gt;\r\n<\/pre>\n<h2><span style=\"color: #008000;\">onplaying<\/span><\/h2>\n<p style=\"text-align: justify;\">\u2013 lecture de fichiers. Gestionnaire pour l&rsquo;\u00e9v\u00e9nement onplaying, qui est d\u00e9clench\u00e9 lorsque la lecture d&rsquo;un fichier audio\/vid\u00e9o a commenc\u00e9. L&rsquo;\u00e9v\u00e9nement onplaying se produit lorsque la lecture audio\/vid\u00e9o commence. L&rsquo;\u00e9v\u00e9nement onplaying se produit \u00e9galement lorsque l&rsquo;audio\/la vid\u00e9o reprend apr\u00e8s avoir \u00e9t\u00e9 mis en pause ou mis en m\u00e9moire tampon.<\/p>\n<p style=\"text-align: justify;\">Appeler la fonction au d\u00e9marrage de la vid\u00e9o:<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;video onplaying=&quot;myFunction()&quot;&gt;\r\n<\/pre>\n<h2><span style=\"color: #008000;\">onprogress<\/span><\/h2>\n<p style=\"text-align: justify;\">\u2013 obtenir les m\u00e9tadonn\u00e9es du fichier. Gestionnaire de l&rsquo;\u00e9v\u00e9nement onprogress qui se produit lorsque le fichier audio\/vid\u00e9o sp\u00e9cifi\u00e9 est charg\u00e9 \u00e0 partir du serveur. L&rsquo;\u00e9v\u00e9nement onprogress se produit lorsque le navigateur charge de l&rsquo;audio ou de la vid\u00e9o.<\/p>\n<p style=\"text-align: justify;\">Appeler la fonction lors du chargement de la vid\u00e9o:<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;video onprogress=&quot;myFunction()&quot;&gt;\r\n<\/pre>\n<h2><span style=\"color: #008000;\">onratechange<\/span><\/h2>\n<p style=\"text-align: justify;\">&#8211; modifier la vitesse de lecture. Gestionnaire de l&rsquo;\u00e9v\u00e9nement onratechange, qui est d\u00e9clench\u00e9 lorsque la vitesse de lecture audio\/vid\u00e9o change (par exemple, lorsque l&rsquo;utilisateur passe en mode de lecture lente ou rapide). L&rsquo;\u00e9v\u00e9nement onratechange se produit lorsque la vitesse de lecture du m\u00e9dia change (par exemple, lorsque l&rsquo;utilisateur passe en mode de lecture lente ou rapide). Cet \u00e9v\u00e9nement est d\u00e9clench\u00e9 par la propri\u00e9t\u00e9 de lecture Rate de l&rsquo;objet Audio\/Vid\u00e9o, qui d\u00e9finit ou renvoie la vitesse de lecture audio\/vid\u00e9o actuelle.<\/p>\n<p style=\"text-align: justify;\">Appeler une fonction lorsque la vitesse de lecture de la vid\u00e9o change:<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;video onratechange=&quot;myFunction()&quot;&gt;\r\n<\/pre>\n<h2><span style=\"color: #008000;\">onreset<\/span><\/h2>\n<p style=\"text-align: justify;\">\u2013 R\u00e9initialisation des donn\u00e9es termin\u00e9e. Gestionnaire de l&rsquo;\u00e9v\u00e9nement onreset qui se produit lorsque le formulaire est effac\u00e9, ce qui se produit lorsque le bouton Reset est cliqu\u00e9. Ex\u00e9cute le code JavaScript lorsque l&rsquo;\u00e9v\u00e9nement onreset se produit; c&rsquo;est-\u00e0-dire lorsque l&rsquo;utilisateur restaure les valeurs des \u00e9l\u00e9ments du formulaire (en cliquant sur le bouton Reset).<\/p>\n<p style=\"text-align: justify;\">Appeler une fonction lorsque le formulaire est r\u00e9initialis\u00e9:<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;form onreset=&quot;myFunction()&quot;&gt;\r\n  Enter name: &lt;input type=&quot;text&quot;&gt;\r\n  &lt;input type=&quot;reset&quot;&gt;\r\n&lt;\/form&gt;\r\n<\/pre>\n<p style=\"text-align: justify;\">L&rsquo;exemple suivant affiche un objet Texte avec une valeur par d\u00e9faut de \u00abCA\u00bb et un bouton \u00abReset\u00bb. Si l&rsquo;utilisateur entre une abr\u00e9viation d&rsquo;\u00e9tat dans l&rsquo;objet Texte et clique sur le bouton \u00abReset\u00bb, la valeur d&rsquo;origine de \u00abCA\u00bb est restaur\u00e9e. Le gestionnaire onReset du formulaire affiche un message indiquant que les valeurs par d\u00e9faut ont \u00e9t\u00e9 restaur\u00e9es.<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;FORM NAME=&quot;form1&quot; onReset=&quot;alert('Defaults have been restored.')&quot;&gt;\r\nState:\r\n&lt;INPUT TYPE=&quot;text&quot; NAME=&quot;state&quot; VALUE=&quot;CA&quot; SIZE=&quot;2&quot;&gt;&lt;P&gt;\r\n&lt;INPUT TYPE=&quot;reset&quot; VALUE=&quot;Clear Form&quot; NAME=&quot;reset1&quot;&gt;\r\n&lt;\/FORM&gt;\r\n<\/pre>\n<h2><span style=\"color: #008000;\">onresize<\/span><\/h2>\n<p style=\"text-align: justify;\">\u2013 redimensionner un \u00e9l\u00e9ment. Ex\u00e9cute le code JavaScript lorsque l&rsquo;\u00e9v\u00e9nement onresize se produit; c&rsquo;est-\u00e0-dire lorsque l&rsquo;utilisateur ou le script a modifi\u00e9 la taille de la fen\u00eatre ou du cadre. L&rsquo;\u00e9v\u00e9nement onresize se produit lorsque la fen\u00eatre du navigateur a \u00e9t\u00e9 redimensionn\u00e9e. Astuce: Pour obtenir la taille d&rsquo;un \u00e9l\u00e9ment, utilisez les propri\u00e9t\u00e9s clientWidth, clientHeight, InnerWidth, InnerHeight, OuterWidth, OuterHeight, OffsetWidth et\/ou OffsetHeight. Ce gestionnaire est envoy\u00e9 une fois le rendu HTML avec les nouvelles dimensions de la fen\u00eatre int\u00e9rieure termin\u00e9. Cela permet aux \u00e9l\u00e9ments et aux ancres nomm\u00e9es d&rsquo;\u00eatre positionn\u00e9s de mani\u00e8re \u00e0 ce qu&rsquo;ils aient les dimensions et emplacements finaux demand\u00e9s, les propri\u00e9t\u00e9s SRC de l&rsquo;image peuvent \u00eatre restaur\u00e9es dynamiquement, etc.<\/p>\n<p style=\"text-align: justify;\">Appeler une fonction lorsque la fen\u00eatre du navigateur est redimensionn\u00e9e:<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;body onresize=&quot;myFunction()&quot;&gt;\r\n<\/pre>\n<p style=\"text-align: justify;\">Utilisation de la m\u00e9thode addEventListener() pour attacher un \u00e9v\u00e9nement \u00abredimensionnement\u00bb \u00e0 l&rsquo;objet fen\u00eatre.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\nwindow.addEventListener(&quot;resize&quot;, myFunction);\r\n<\/pre>\n<p style=\"text-align: justify;\">Ici, la fonction open_now cr\u00e9e la fen\u00eatre myWin et capture les \u00e9v\u00e9nements onResize. Le gestionnaire onResize appelle la fonction alert_me, qui affiche un message si l&rsquo;utilisateur redimensionne la fen\u00eatre myWin.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\nfunction open_now(){\r\nvar myWin;\r\nmyWin=window.open(&quot;&quot;,&quot;displayWin&quot;,&quot;width=400,height=300,resizable=yes,\r\nmenubar=no,location=no,alwaysRaised=yes&quot;);\r\nvar text=&quot;&lt;html&gt;&lt;head&gt;&lt;title&gt;Test&lt;\/title&gt;&lt;\/head&gt;&quot;\r\n+&quot;&lt;body bgcolor=white&gt;&lt;h1&gt;Please resize me&lt;\/h1&gt;&lt;\/body&gt;&quot;\r\n+&quot;&lt;\/html&gt;&quot;;\r\nmyWin.document.write(text);\r\nmyWin.captureEvents(Event.RESIZE);\r\nmyWin.onresize=alert_me;\r\n}\r\nfunction alert_me(){\r\nalert(&quot;You resized me! \\nNow my outer width: &quot; + this.outerWidth +\r\n&quot;\\n and my outer height: &quot; +this.outerHeight);\r\nthis.focus();\r\n}\r\n<\/pre>\n<h2><span style=\"color: #008000;\">onscroll<\/span><\/h2>\n<p style=\"text-align: justify;\">\u2013 faire d\u00e9filer le contenu d&rsquo;un \u00e9l\u00e9ment. L&rsquo;\u00e9v\u00e9nement onscroll se produit lorsque la barre de d\u00e9filement d&rsquo;un \u00e9l\u00e9ment d\u00e9file. Astuce : utilisez la propri\u00e9t\u00e9 de style de d\u00e9bordement CSS pour cr\u00e9er une barre de d\u00e9filement pour un \u00e9l\u00e9ment. L&rsquo;\u00e9v\u00e9nement de d\u00e9filement est d\u00e9clench\u00e9 lorsqu&rsquo;un \u00e9l\u00e9ment d\u00e9file. Pour d\u00e9terminer quand le d\u00e9filement est termin\u00e9, observez l&rsquo;\u00e9v\u00e9nement de d\u00e9filement de l&rsquo;\u00e9l\u00e9ment.<\/p>\n<p style=\"text-align: justify;\">Appeler une fonction lorsqu&rsquo;un \u00e9l\u00e9ment div d\u00e9file:<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;div onscroll=&quot;myFunction()&quot;&gt;\r\n<\/pre>\n<p style=\"text-align: justify;\">Basculez entre les noms de classe \u00e0 diff\u00e9rentes positions de d\u00e9filement. Lorsque l&rsquo;utilisateur fait d\u00e9filer la page de 50 px vers le bas, le nom de classe \u00abtest\u00bb est ajout\u00e9 \u00e0 l&rsquo;\u00e9l\u00e9ment (et supprim\u00e9 lorsque l&rsquo;utilisateur fait d\u00e9filer la page vers le haut).<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\nwindow.onscroll = function() {myFunction()};\r\nfunction myFunction() {\r\n  if (document.body.scrollTop &gt; 50 || document.documentElement.scrollTop &gt; 50) {\r\n    document.getElementById(&quot;myP&quot;).className = &quot;test&quot;;\r\n  } else {\r\n    document.getElementById(&quot;myP&quot;).className = &quot;&quot;;\r\n  }\r\n}\r\n<\/pre>\n<p style=\"text-align: justify;\">Ins\u00e9rer un \u00e9l\u00e9ment lorsque l&rsquo;utilisateur a fait d\u00e9filer la page de 350 px (ajouter la classe slideUp):<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\nwindow.onscroll = function() {myFunction()};\r\nfunction myFunction() {\r\n  if (document.body.scrollTop &gt; 350 || document.documentElement.scrollTop &gt; 350) {\r\n    document.getElementById(&quot;myImg&quot;).className = &quot;slideUp&quot;;\r\n  }\r\n}\r\n<\/pre>\n<p style=\"text-align: justify;\">L&rsquo;exemple suivant montre comment utiliser l&rsquo;\u00e9v\u00e9nement de d\u00e9filement pour d\u00e9tecter quand l&rsquo;utilisateur fait d\u00e9filer un \u00e9l\u00e9ment:<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;script&gt;\r\nconst element = document.querySelector(&quot;div#scroll-box&quot;);\r\nconst output = document.querySelector(&quot;p#output&quot;);\r\nelement.addEventListener(&quot;scroll&quot;, (event) =&gt; {\r\n  output.textContent = &quot;Scroll event fired!&quot;;\r\n  setTimeout(() =&gt; {\r\n    output.textContent = &quot;Waiting on scroll events...&quot;;\r\n  }, 1000);\r\n});\r\n&lt;\/script&gt;\r\n&lt;div id=&quot;scroll-box&quot; style=&quot;overflow: scroll; height: 100px; width: 100px; float: left;&quot;&gt;\r\n  &lt;p style=&quot;height: 200px; width: 200px;&quot;&gt;Scroll me!&lt;\/p&gt;\r\n&lt;\/div&gt;\r\n&lt;p style=&quot;text-align: center;&quot; id=&quot;output&quot;&gt;Waiting on scroll events...&lt;\/p&gt;\r\n<\/pre>\n<p style=\"text-align: justify;\">L&rsquo;exemple suivant montre comment utiliser la propri\u00e9t\u00e9 du gestionnaire d&rsquo;\u00e9v\u00e9nements onscroll pour d\u00e9tecter le moment o\u00f9 l&rsquo;utilisateur fait d\u00e9filer:<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;script&gt;\r\nconst element = document.querySelector(&quot;div#scroll-box&quot;);\r\nconst output = document.querySelector(&quot;p#output&quot;);\r\nelement.onscroll = (event) =&gt; {\r\n  output.textContent = &quot;Element scroll event fired!&quot;;\r\n  setTimeout(() =&gt; {\r\n    output.textContent = &quot;Waiting on scroll events...&quot;;\r\n  }, 1000);\r\n};\r\n&lt;\/script&gt;\r\n&lt;div id=&quot;scroll-box&quot; style=&quot;overflow: scroll; height: 100px; width: 100px; float: left;&quot;&gt;\r\n  &lt;p style=&quot;height: 200px; width: 200px;&quot;&gt;Scroll me!&lt;\/p&gt;\r\n&lt;\/div&gt;\r\n&lt;p id=&quot;output&quot; style=&quot;text-align: center;&quot;&gt;Waiting on scroll events...&lt;\/p&gt;\r\n<\/pre>\n<h2><span style=\"color: #008000;\">onsearch<\/span><\/h2>\n<p style=\"text-align: justify;\">\u2013 recherche termin\u00e9e. L&rsquo;\u00e9v\u00e9nement onsearch se produit lorsque l&rsquo;utilisateur appuie sur la touche ENTR\u00c9E ou sur le bouton x sur un \u00e9l\u00e9ment input avec type=\u00a0\u00bbsearch\u00a0\u00bb.<\/p>\n<p style=\"text-align: justify;\">Appel d&rsquo;une fonction lorsqu&rsquo;une recherche est soumise:<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;input type=&quot;search&quot; onsearch=&quot;myFunction()&quot;&gt;\r\n<\/pre>\n<h2><span style=\"color: #008000;\">onseeked<\/span><\/h2>\n<p style=\"text-align: justify;\">&#8211; la recherche est termin\u00e9e. Gestionnaire pour l&rsquo;\u00e9v\u00e9nement onseeked, qui est d\u00e9clench\u00e9 lorsque l&rsquo;utilisateur a termin\u00e9 de se d\u00e9placer vers une nouvelle position de lecture audio\/vid\u00e9o. L&rsquo;\u00e9v\u00e9nement onseeked se produit lorsque l&rsquo;utilisateur recherche une nouvelle position dans les m\u00e9dias.<\/p>\n<p style=\"text-align: justify;\">Appeler une fonction lorsque l&rsquo;utilisateur recherche une nouvelle position dans la vid\u00e9o:<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;video onseeked=&quot;myFunction()&quot;&gt;\r\n<\/pre>\n<p style=\"text-align: justify;\">Cet exemple d\u00e9montre la diff\u00e9rence entre l\u2019\u00e9v\u00e9nement onseeking et l\u2019\u00e9v\u00e9nement onseeked:<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;video onseeking=&quot;myFunction()&quot; onseeked=&quot;mySecondFunction()&quot;&gt;\r\n<\/pre>\n<p style=\"text-align: justify;\">Utilisation de la propri\u00e9t\u00e9 currentTime d&rsquo;un objet vid\u00e9o pour afficher la position actuelle pendant la lecture lorsque l&rsquo;utilisateur a termin\u00e9 de se d\u00e9placer\/d&rsquo;avancer vers une nouvelle position:<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n\/\/ Get the video element:\r\nconst video = document.getElementById(&quot;myVideo&quot;);\r\n\/\/ Attach a seeked event to the video element:\r\nvideo.addEventListener(&quot;seeked&quot;, myFunction);\r\n\/\/ Function to display the time position of the playback:\r\nfunction myFunction() {\r\ndocument.getElementById(&quot;demo&quot;).innerHTML = video.currentTime;\r\n}\r\n<\/pre>\n<h2><span style=\"color: #008000;\">onseeking<\/span><\/h2>\n<p style=\"text-align: justify;\">\u2013 la recherche est active. Gestionnaire de l&rsquo;\u00e9v\u00e9nement onseeking, qui se produit lorsque l&rsquo;utilisateur commence \u00e0 naviguer vers une nouvelle position de lecture audio\/vid\u00e9o. L&rsquo;\u00e9v\u00e9nement de recherche se produit lorsque l&rsquo;utilisateur commence \u00e0 rechercher une nouvelle position dans les m\u00e9dias.<\/p>\n<p style=\"text-align: justify;\">Appeler une fonction lorsque l&rsquo;utilisateur commence \u00e0 se d\u00e9placer\/se d\u00e9placer vers une nouvelle position dans la vid\u00e9o:<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;video onseeking=&quot;myFunction()&quot;&gt;\r\n<\/pre>\n<h2><span style=\"color: #008000;\">onselect<\/span><\/h2>\n<p style=\"text-align: justify;\">\u2013 s\u00e9lection d&rsquo;un texte ou d&rsquo;une valeur. Un gestionnaire d&rsquo;\u00e9v\u00e9nements onselect qui se produit lorsque l&rsquo;utilisateur s\u00e9lectionne du texte \u00e0 l&rsquo;int\u00e9rieur d&rsquo;un \u00e9l\u00e9ment \u00e0 l&rsquo;aide de la souris ou du clavier.  L&rsquo;\u00e9v\u00e9nement onselect se produit apr\u00e8s la s\u00e9lection d&rsquo;un texte dans un \u00e9l\u00e9ment. L&rsquo;\u00e9v\u00e9nement onselect est le plus souvent utilis\u00e9 pour les \u00e9l\u00e9ments de type input=\u00a0\u00bbtext\u00a0\u00bb ou textarea.<\/p>\n\n<p style=\"text-align: justify;\">Ici, onSelect est utilis\u00e9 dans l&rsquo;objet texte valueField pour appeler la fonction selectState.<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;INPUT TYPE=&quot;text&quot; VALUE=&quot;&quot; NAME=&quot;valueField&quot; onSelect=&quot;selectState()&quot;&gt;\r\n<\/pre>\n<p style=\"text-align: justify;\">Appeler une fonction lorsqu&rsquo;un texte est s\u00e9lectionn\u00e9:<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;input type=&quot;text&quot; onselect=&quot;myFunction()&quot;&gt;\r\n<\/pre>\n<p style=\"text-align: justify;\">En utilisant la m\u00e9thode select() saisissez un objet texte HTML DOM pour s\u00e9lectionner le contenu d&rsquo;un champ de texte. Lorsque cela se produit, l&rsquo;\u00e9v\u00e9nement onselect est d\u00e9clench\u00e9, ce qui d\u00e9clenche la fonction d&rsquo;alerte.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n\/\/ Select the contents of a text field\r\nfunction mySelectFunction() {\r\n  document.getElementById(&quot;myText&quot;).select();\r\n}\r\n\/\/ Alert some text when the text in the text field has been selected\r\nfunction myAlertFunction() {\r\n  alert(&quot;You selected some text!&quot;);\r\n}\r\n<\/pre>\n<h2><span style=\"color: #008000;\">onshow<\/span><\/h2>\n<p style=\"text-align: justify;\">\u2013 affichage des articles. Gestionnaire de l&rsquo;\u00e9v\u00e9nement onshow qui se produit lorsque l&rsquo;\u00e9l\u00e9ment de menu est affich\u00e9 sous forme de menu contextuel. L&rsquo;\u00e9v\u00e9nement onshow se produit lorsqu&rsquo;un \u00e9l\u00e9ment de menu est affich\u00e9 sous forme de menu contextuel. <\/p>\n<p style=\"text-align: justify;\">Appeler une fonction lorsque l&rsquo;\u00e9l\u00e9ment de menu est affich\u00e9 sous forme de menu contextuel:<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;div contextmenu=&quot;mymenu&quot;&gt;\r\n  &lt;p&gt;Right-click inside this box to see the context menu!\r\n  &lt;menu type=&quot;context&quot; id=&quot;mymenu&quot; onshow=&quot;myFunction()&quot;&gt;\r\n    &lt;menuitem label=&quot;Refresh&quot; onclick=&quot;window.location.reload();&quot;&gt;&lt;\/menuitem&gt;\r\n  &lt;\/menu&gt;\r\n&lt;\/div&gt;\r\n<\/pre>\n<h2><span style=\"color: #008000;\">onstalled<\/span><\/h2>\n<p style=\"text-align: justify;\">&#8211; Le navigateur ne peut pas r\u00e9cup\u00e9rer les donn\u00e9es multim\u00e9dias pour quelque raison que ce soit. Gestionnaire pour l&rsquo;\u00e9v\u00e9nement onstalled, qui se produit lorsque le navigateur tente de r\u00e9cup\u00e9rer des donn\u00e9es multim\u00e9dias mais qu&rsquo;elles ne sont pas disponibles. L&rsquo;\u00e9v\u00e9nement onstalled se produit lorsque le navigateur tente de r\u00e9cup\u00e9rer un m\u00e9dia qui n&rsquo;est pas disponible.<\/p>\n<p style=\"text-align: justify;\">Appeler une fonction lorsque le navigateur tente d&rsquo;obtenir un m\u00e9dia indisponible:<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;video onstalled=&quot;myFunction()&quot;&gt;\r\n<\/pre>\n<h2><span style=\"color: #008000;\">onsubmit<\/span><\/h2>\n<p style=\"text-align: justify;\">\u2013 confirmation de la soumission des donn\u00e9es du formulaire. Gestionnaire de l&rsquo;\u00e9v\u00e9nement onsubmit qui se produit lorsque le formulaire est soumis. Ex\u00e9cute le code JavaScript lorsque l&rsquo;\u00e9v\u00e9nement onsubmit se produit; c&rsquo;est-\u00e0-dire lorsque l&rsquo;utilisateur soumet le formulaire au serveur. Vous pouvez utiliser onSubmit pour emp\u00eacher la soumission du formulaire; Pour ce faire, placez une instruction de retour qui renvoie false dans ce gestionnaire d&rsquo;\u00e9v\u00e9nements. Toutes autres valeurs permettent de soumettre le formulaire. En l&rsquo;absence d&rsquo;op\u00e9rateur return le formulaire sera soumis.<\/p>\n<p style=\"text-align: justify;\">Ici, onSubmit appelle la fonction validate pour calculer les donn\u00e9es envoy\u00e9es. Si les donn\u00e9es sont correctes, le formulaire est soumis; sinon le formulaire n&rsquo;est pas envoy\u00e9.<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;FORM onSubmit=&quot;return validate(this)&quot;&gt;\r\n...\r\n&lt;\/FORM&gt;\r\n<\/pre>\n<p style=\"text-align: justify;\">Appel d&rsquo;une fonction lors de la soumission d&rsquo;un formulaire:<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;form onsubmit=&quot;myFunction()&quot;&gt;\r\n  Enter name: &lt;input type=&quot;text&quot;&gt;\r\n  &lt;input type=&quot;submit&quot;&gt;\r\n&lt;\/form&gt;\r\n<\/pre>\n<h2><span style=\"color: #008000;\">onsuspend <\/span><\/h2>\n<p style=\"text-align: justify;\">\u2013 Arr\u00eat de l&rsquo;extraction des m\u00e9tadonn\u00e9es. Gestionnaire de l&rsquo;\u00e9v\u00e9nement onsuspend, qui est d\u00e9clench\u00e9 lorsque le t\u00e9l\u00e9chargement des donn\u00e9es du fichier multim\u00e9dia est interrompu avant qu&rsquo;elles ne soient compl\u00e8tement charg\u00e9es pour une raison quelconque. L&rsquo;\u00e9v\u00e9nement onsuspend se produit lorsque le navigateur ne re\u00e7oit pas de donn\u00e9es multim\u00e9dias. L&rsquo;\u00e9v\u00e9nement onsuspend se produit lorsqu&rsquo;un t\u00e9l\u00e9chargement est emp\u00each\u00e9 ou suspendu.<\/p>\n<p style=\"text-align: justify;\">Appeler une fonction lorsque le navigateur ne re\u00e7oit pas de m\u00e9dia:<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;video onsuspend=&quot;myFunction()&quot;&gt;\r\n<\/pre>\n<h2><span style=\"color: #008000;\">ontimeupdate<\/span><\/h2>\n<p style=\"text-align: justify;\">\u2013 modifier la position (temps) de lecture du fichier, c&rsquo;est-\u00e0-dire rembobiner le fichier. Gestionnaire de l&rsquo;\u00e9v\u00e9nement ontimeupdate, qui est d\u00e9clench\u00e9 lorsque la position de lecture audio\/vid\u00e9o a chang\u00e9 (par exemple, lorsque l&rsquo;utilisateur a s\u00e9lectionn\u00e9 une position de lecture beaucoup plus \u00e9loign\u00e9e de la position actuelle). L&rsquo;\u00e9v\u00e9nement ontimeupdate se produit lorsque l&rsquo;heure de lecture du m\u00e9dia change. L&rsquo;\u00e9v\u00e9nement ontimeupdate se produit pendant la lecture multim\u00e9dia. L&rsquo;\u00e9v\u00e9nement ontimeupdate se produit lorsque l&rsquo;utilisateur d\u00e9place la position de lecture.<\/p>\n<p style=\"text-align: justify;\">Appeler une fonction lorsque le temps de lecture a chang\u00e9:<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;video ontimeupdate=&quot;myFunction()&quot;&gt;\r\n<\/pre>\n<p style=\"text-align: justify;\">Utilisation de la propri\u00e9t\u00e9 currentTime pour d\u00e9finir la position de lecture actuelle sur 5 secondes:<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\ndocument.getElementById(&quot;myVideo&quot;).currentTime = 5;\r\n<\/pre>\n<h2><span style=\"color: #008000;\">ontoggle<\/span><\/h2>\n<p style=\"text-align: justify;\">&#8211; l&rsquo;utilisateur ouvre ou ferme l&rsquo;\u00e9l\u00e9ment details Gestionnaire de l&rsquo;\u00e9v\u00e9nement ontoggle, qui se produit lorsque l&rsquo;utilisateur ouvre ou ferme l&rsquo;\u00e9l\u00e9ment details. L&rsquo;\u00e9l\u00e9ment details sp\u00e9cifie des informations suppl\u00e9mentaires que l&rsquo;utilisateur peut afficher ou masquer sur demande.<\/p>\n<p style=\"text-align: justify;\">Appeler une fonction lorsque l&rsquo;\u00e9l\u00e9ment est ouvert ou ferm\u00e9 details:<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;details ontoggle=&quot;myFunction()&quot;&gt;\r\n<\/pre>\n<h2><span style=\"color: #008000;\">onunload<\/span><\/h2>\n<p style=\"text-align: justify;\">\u2013 le t\u00e9l\u00e9chargement est termin\u00e9, apr\u00e8s quoi le document est ferm\u00e9. L&rsquo;\u00e9v\u00e9nement onunload se produit apr\u00e8s le d\u00e9chargement de la page (ou la fermeture de la fen\u00eatre du navigateur). onunload se produit lorsque l&rsquo;utilisateur quitte la page (en cliquant sur un lien, en soumettant un formulaire, en fermant la fen\u00eatre du navigateur, etc.). Note. L&rsquo;\u00e9v\u00e9nement onunload est \u00e9galement d\u00e9clench\u00e9 lorsque l&rsquo;utilisateur recharge la page (et l&rsquo;\u00e9v\u00e9nement onload). Utilisez onUnload avec les balises BODY ou FRAMESET, par exemple CORPS onUnload=\u00a0\u00bb&#8230;\u00a0\u00bb. En ce qui concerne les cadres et les ensembles de cadres, le gestionnaire onUnload d&rsquo;un cadre (plac\u00e9 dans la balise BODY) appara\u00eet avant que le gestionnaire onUnload d&rsquo;un ensemble de cadres (plac\u00e9 dans la balise FRAMESET) n&rsquo;apparaisse.<\/p>\n<p style=\"text-align: justify;\">Appeler une fonction lorsque l&rsquo;utilisateur t\u00e9l\u00e9charge un document:<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;body onunload=&quot;myFunction()&quot;&gt;\r\n<\/pre>\n<p style=\"text-align: justify;\">Ici, onUnload appelle la fonction cleanUp pour effectuer un traitement \u00e0 la fin du travail lorsque l&rsquo;utilisateur quitte la page (la ferme):<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;BODY onUnload=&quot;cleanUp()&quot;&gt;\r\n<\/pre>\n<h2><span style=\"color: #008000;\">onvolumechange<\/span><\/h2>\n<p style=\"text-align: justify;\">\u2013 le volume a chang\u00e9. Gestionnaire pour l&rsquo;\u00e9v\u00e9nement onvolumechange, qui est d\u00e9clench\u00e9 lorsque la valeur du volume d&rsquo;un son change (y compris en le coupant compl\u00e8tement). L&rsquo;\u00e9v\u00e9nement onvolumechange se produit lorsqu&rsquo;un volume de stockage change. L&rsquo;\u00e9v\u00e9nement onvolumechange se produit lorsque le volume augmente ou diminue. L&rsquo;\u00e9v\u00e9nement onvolumechange se produit lorsque le volume est coup\u00e9 ou activ\u00e9.<\/p>\n<p style=\"text-align: justify;\">Appeler une fonction lorsque le volume de la vid\u00e9o change:<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;video onvolumechange=&quot;myFunction()&quot;&gt;\r\n<\/pre>\n<p style=\"text-align: justify;\">Utiliser la propri\u00e9t\u00e9 Volume pour r\u00e9gler le volume:<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\ndocument.getElementById(&quot;myVideo&quot;).volume = 0.2;\r\n<\/pre>\n<h2><span style=\"color: #008000;\">onwaiting<\/span><\/h2>\n<p style=\"text-align: justify;\">\u2013 En attente de reprise de la lecture. Gestionnaire de l&rsquo;\u00e9v\u00e9nement onwaiting, qui se produit lorsque le fichier multim\u00e9dia s&rsquo;est arr\u00eat\u00e9 mais devrait reprendre sa lecture (par exemple, lorsque le fichier s&rsquo;arr\u00eate pour mettre en m\u00e9moire tampon les donn\u00e9es restantes). L&rsquo;\u00e9v\u00e9nement onwaiting se produit lorsque le m\u00e9dia doit attendre la trame suivante.<\/p>\n<p style=\"text-align: justify;\">Appelez une fonction lorsque la vid\u00e9o s&rsquo;arr\u00eate car l&rsquo;image suivante doit \u00eatre mise en m\u00e9moire tampon:<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;video onwaiting=&quot;myFunction()&quot;&gt;\r\n<\/pre>\n\n","protected":false},"excerpt":{"rendered":"<p>Les gestionnaires d&rsquo;\u00e9v\u00e9nements doivent \u00eatre utilis\u00e9s de mani\u00e8re correcte, de pr\u00e9f\u00e9rence en ne les \u00e9crivant pas directement dans les attributs de balise, mais en installant les gestionnaires d&rsquo;\u00e9v\u00e9nements dans les fichiers inclus avec le code JavaScript. Si vous utilisez la biblioth\u00e8que jQuery, le nom du gestionnaire doit \u00eatre \u00e9crit sans le pr\u00e9fixe on.<\/p>\n","protected":false},"author":1,"featured_media":249,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[111,8,7],"tags":[125,13,124],"class_list":{"0":"post-248","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-javascript","8":"category-htmlverstka","9":"category-programmirovanie","10":"tag-evenements","11":"tag-html","12":"tag-javascript"},"_links":{"self":[{"href":"https:\/\/planeta21vek.ru\/elina732\/fr\/wp-json\/wp\/v2\/posts\/248","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/planeta21vek.ru\/elina732\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/planeta21vek.ru\/elina732\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/planeta21vek.ru\/elina732\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/planeta21vek.ru\/elina732\/fr\/wp-json\/wp\/v2\/comments?post=248"}],"version-history":[{"count":2,"href":"https:\/\/planeta21vek.ru\/elina732\/fr\/wp-json\/wp\/v2\/posts\/248\/revisions"}],"predecessor-version":[{"id":267,"href":"https:\/\/planeta21vek.ru\/elina732\/fr\/wp-json\/wp\/v2\/posts\/248\/revisions\/267"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/planeta21vek.ru\/elina732\/fr\/wp-json\/wp\/v2\/media\/249"}],"wp:attachment":[{"href":"https:\/\/planeta21vek.ru\/elina732\/fr\/wp-json\/wp\/v2\/media?parent=248"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/planeta21vek.ru\/elina732\/fr\/wp-json\/wp\/v2\/categories?post=248"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/planeta21vek.ru\/elina732\/fr\/wp-json\/wp\/v2\/tags?post=248"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}