Capturez javascript événement dans IE Mobile
-
16-09-2019 - |
Question
Je dois détecter l'ID de l'élément qui a généré un événement onchange.
Ce travail de code dans la plupart des navigateurs modernes :
<input type="text" onchange="return onchange_handler(event);"
function onchange_handler(event) {
var id = event.target ? event.target.id : event.srcElement.id;
...
return false;
}
Mais il ne fonctionne pas dans IE Mobile .
J'ai essayé le code suivant, et au moins l'événement est déclenché et la fonction de gestionnaire est appelé, mais window.event
n'est pas disponible lorsque gestionnaire d'événements est appelé:
<input type="text" onchange="return onchange_handler();"
function onchange_handler() {
var event = window.event; // <= evaluated as UNDEFINED
var id = event.target ? event.target.id : event.srcElement.id;
...
return false;
}
Est-il possible d'obtenir une référence à l'événement tiré? Ou une autre approche de connaître l'identifiant de l'élément qui a provoqué l'événement.
La solution
Une solution serait de faire passer l'élément à la fonction de rappel: (non testé)
<input type="text" id="mytextbox" onchange="return onchange_handler(this);"
function onchange_handler(element) {
var id = element.id;
...
return false;
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow