모든 처리기에서 정의되지 않은 메시지가 나타납니다. 모든 요소에 처리기를 바인딩하고 값을 출력하려고합니다. 이 코드의 문제점은 무엇입니까? 감사!모든 요소에 onfocus 이벤트 처리기 추가
for (var i = 0; i < document.forms[0].elements.length; i++){
document.forms[0].elements[i].onfocus = test(this);
}
function test(ele){
alert(ele.value);
}
확인. 나는 이것을 생략 할 수 있다고 생각한다. – steve
이것이 잘못된 동안 ... 문제가 실제로 해결되지는 않을 것이다;) –
당신은해야한다. 그렇지 않으면 함수를 호출합니다. 이벤트 처리기 내에서 'this'는 이벤트가 첨부 된 요소가됩니다. 그래서 함수 안에서'evt'를'this'로 대체하십시오. – Quentin