Cette traduction est incomplète. Aidez à traduire cet article depuis l'anglais.
Nous sommes pour beaucoup familiers avec le concept de la saisie d'évènement et de la manière de l'utiliser afin de programmer une réponse aux évènements qui se produisent dans notre application. Mais il y a tellement plus à penser sur ce sujet quand nous cherchons à déterminer si un ensemble de conditions est vrai, du point de vue de l'environnement du client. Cet article vous fait part de quelques idées sur le sujet.
Une série d'événements malheureux
Les évènements sont un moyen standard, dans le développement, de répondre aux divers évènements qui se produisent dans l'application. Un gestionnaire d'évènement peut être attaché à l'objet pour que quand une occurence de cet évènement est detecté, nous puissions répondre à cet évènement par un certain code. Certains événements ont toujours été là, et peuvent être considérés comme des vieux classiques. Par exemple, un simple onclick
va permettre de lancer la fonction quand le bouton sera pressé:
deleteButton.onclick = function(event) { deleteItem(event); }
Un simple onload
permettra d'executer le code de l'application seulement quand l'élement window sera correctement chargé:
window.onload = function() { … }
Et ainsi de suite avec onblur
, onresize
, onkeypress
, etc.
The new crop of Web APIs bring a whole new batch of event handlers to the table, to check for more specific cases of events occurring. For example:
Window.ondeviceorientation
allows us to be notified when information from a device's gyroscope indicates a change in a device's orientation.Window.ondevicelight
lets us be notified when the level of ambient light around a device changes.BatteryManager.onlevelchange
lets us respond respond to changes in the device's battery charge level.
In addition, many APIs have access to event handlers on callback functions that allow us to respond appropriately when a request succeeds or fails (onerror
and onsuccess
). This is incredibly useful, and can allow us a lot of control over our apps and changes in surrounding conditions. You can find documentation of a large number of events and APIs on MDN; see the Event reference.
Responding to other conditions in your app
Events are great, but unfortunately it is not always that simple — an event might not always exist that perfectly suits your condition. In such a case, you'll have to be a bit more inventive, possibly using a combination of events that point to the condition being met, or perhaps using a method like window.setInterval()
to periodically check for a given condition to be true. In the next article — Checking when a deadline is due — we'll explore a fairly complex example illustrating a common requirement, for you to draw inspiration from.