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.

Était-ce utile?

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
scroll top