Захват события javascript в IE Mobile
-
16-09-2019 - |
Вопрос
Мне нужно определить идентификатор элемента, сгенерировавшего событие onchange.
Этот код работает в большинстве современные браузеры:
<input type="text" onchange="return onchange_handler(event);"
function onchange_handler(event) {
var id = event.target ? event.target.id : event.srcElement.id;
...
return false;
}
Но это не работает в IE мобильный.
Я попробовал следующий код, и, по крайней мере, событие запускается и вызывается функция обработчика, но window.event
недоступен при вызове обработчика событий:
<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;
}
Есть ли способ получить ссылку на запущенное событие?Или альтернативный подход, позволяющий узнать идентификатор элемента, вызвавшего событие.
Решение
Обходной путь — передать элемент обратному вызову:(непроверено)
<input type="text" id="mytextbox" onchange="return onchange_handler(this);"
function onchange_handler(element) {
var id = element.id;
...
return false;
}
Не связан с StackOverflow