문제

OnChange 이벤트를 생성 한 요소의 ID를 감지해야합니다.

이 코드는 대부분 작동합니다 현대식 브라우저:

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

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

그러나 그것은 작동하지 않습니다 즉, 모바일.

다음 코드를 시도했는데 적어도 이벤트가 시작되고 핸들러 기능이 호출되었지만 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;
}

해고 된 이벤트에 대한 참조를 얻는 방법이 있습니까? 또는 이벤트를 일으킨 요소의 ID를 알기위한 대체 접근법.

도움이 되었습니까?

해결책

해결 방법은 요소를 콜백으로 전달하는 것입니다.

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

function onchange_handler(element) {
    var id = element.id;
    ...
    return false;
}
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top