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