Frage

Ich muss die ID des Elements erkennen, das ein Onchange -Ereignis generiert hat.

Dieser Code funktioniert in den meisten Moderne Browser:

<input type="text" onchange="return onchange_handler(event);"

function onchange_handler(event) {
    var id = event.target ? event.target.id : event.srcElement.id;
    ...
    return false;
}

Aber es funktioniert nicht in Dh Handy.

Ich habe den folgenden Code ausprobiert, und zumindest wird das Ereignis abgefeuert und die Handler -Funktion wird aufgerufen, aber aber window.event ist nicht verfügbar, wenn Event -Handler genannt wird:

<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;
}

Gibt es eine Möglichkeit, einen Verweis auf das entlassene Ereignis zu erhalten? Oder ein alternativer Ansatz, um die ID des Elements zu kennen, das das Ereignis verursacht hat.

War es hilfreich?

Lösung

Eine Problemumgehung wäre, das Element an den Rückruf zu übergeben: (ungetestet)

<input type="text" id="mytextbox" onchange="return onchange_handler(this);"

function onchange_handler(element) {
    var id = element.id;
    ...
    return false;
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top