Questa domanda è un seguito del post Impossibile impostare il gestore eventi in JavaScript
Voglio aggiungere un gestore eventi per i controlli di testo di input. Il controllo della casella di input viene generato in modo dinamico. Il mio codice è come:
_inputbox = document.createElement("input");
_inputbox.type = "text";
_inputbox.id = settings[zindex];
_inputbox.onblur = checkName;
checkName () è stato definito in precedenza. Ma quando inserisco qualcosa nella casella e sposto lo stato attivo su un altro controllo, checkName () non viene eseguito.
Nella scheda DOM di Firebug, trovo che onblur sia assegnato a checkName () correttamente.
Nella scheda HTML di Firebug, trovo la casella di inputdefinisce solo un "ID" e un "tipo". Nessun "onblur" nel suo codice HTML. Se modifico l'HTML e aggiungo onblur = checkName () manualmente. La funzione può essere chiamata correttamente.
Codice HTML
<input type="text" id="Datastore">
Qualcuno può aiutarmi? Molte grazie.
risposte:
0 per risposta № 1Provare
If(_inputbox.addEventListener) {
_inputbox.addEventListener("blur", checkName, false);
} else {
_inputbox.attachEvent("onblur", checkName);
}