Cattura javascript evento in IE mobile
-
16-09-2019 - |
Domanda
ho bisogno di rilevare l'id dell'elemento che ha generato un evento onchange.
Questo lavoro di codice nella maggior parte dei browser moderni :
<input type="text" onchange="return onchange_handler(event);"
function onchange_handler(event) {
var id = event.target ? event.target.id : event.srcElement.id;
...
return false;
}
Ma non funziona in IE mobile .
Ho provato il seguente codice, e almeno è licenziato l'evento e la funzione del gestore viene chiamata, ma window.event
non è disponibile quando gestore eventi viene chiamato:
<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;
}
C'è un modo per ottenere un riferimento alla manifestazione sparato? O un approccio alternativo per conoscere l'ID dell'elemento che ha causato l'evento.
Soluzione
Una soluzione sarebbe quella di passare l'elemento al callback: (non testata)
<input type="text" id="mytextbox" onchange="return onchange_handler(this);"
function onchange_handler(element) {
var id = element.id;
...
return false;
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow