Zachyťte událost javascriptu v IE Mobile

Potřebuji zjistit ID prvku, který vygeneroval onchange událost.

Tento kód funguje ve většině moderních prohlížečů :

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

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

Ale to nefunguje v IE Mobile .

Zkoušel jsem následující kód a alespoň se spustí událost a zavolá se funkce handler, ale window.event není k dispozici, když je volána obsluha události:

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

Existuje nějaký způsob, jak získat odkaz na spuštěnou událost? Nebo alternativní přístup ke zjištění ID prvku, který událost způsobil.

Odpověď

Řešením by bylo předat prvek zpětnému volání:(netestováno)

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

function onchange_handler(element) {
    var id = element.id;
    ...
    return false;
}