객체에 공통적으로 적용될 이벤트 한번에 적용하기UI 관련
로빈아빠
본문
제목 쓰기가 어렵다.. ㅡㅡ;
셀렉트박스 마우스 휠 적용 안되도록... 에서 고민하던 부분이 해결 되었다.
셀렉트박스 전체에 대해서.. onchange 이벤트 발생시 포커스를 셀렉트박스 외부로 옮기는 것이었다.
매번 셀렉트박스 코딩마다 넣어주기는 힘들 것 같아서.. 다른 방법을 고민하고 있었는데..
오늘 해결이 되었다.
위 소스를 공통으로 사용되는 .js 파일내에 추가하면 되겠다.
보통 window.onload 를 자주 사용하기 때문에.. window.onload 를 피해 document.onload 에 함수를 실행하도록 했다.
테스트 결과 document.onload 이후에 window.onload 가 실행되기 때문에, 도큐먼트가 로딩되었어도 셀렉트박스를 찾을 수 없었다.
그래서, document.onload 시에.. document.readyState 상태를 확인하고.. 1초마다 재귀호출을 하도록 하였다.
document.readyState 가 complete 이면 window.onload 가 된 상태이다.
window.onload 전에는 document.readyState 가 loading 으로 나왔다.
그리고, 기존 셀렉트박스에 onchange 이벤트에 함수가 있는 경우에는 제외를 했다.
함수를 추가로 적용시키는 방법이 있으면 좋을텐데.. 아직 찾지 못했다.
이와 유사한 형태로.. 특정한 객체에 공통적으로 적용되어야 할 사항이 있다면..
아주 유용하게 사용되지 않을까 싶다.
셀렉트박스 마우스 휠 적용 안되도록... 에서 고민하던 부분이 해결 되었다.
셀렉트박스 전체에 대해서.. onchange 이벤트 발생시 포커스를 셀렉트박스 외부로 옮기는 것이었다.
매번 셀렉트박스 코딩마다 넣어주기는 힘들 것 같아서.. 다른 방법을 고민하고 있었는데..
오늘 해결이 되었다.
function SelectOnChange() {
if (document.readyState == "complete") {
var selBoxs = document.getElementsByTagName("SELECT");
for(i=0; i<selBoxs.length; i++) {
if (!selBoxs[i].onchange) {
selBoxs[i].onchange=function(){window.focus();};
}
}
} else {
setTimeout('SelectOnChange()',1000);
}
}
document.onload = SelectOnChange();
if (document.readyState == "complete") {
var selBoxs = document.getElementsByTagName("SELECT");
for(i=0; i<selBoxs.length; i++) {
if (!selBoxs[i].onchange) {
selBoxs[i].onchange=function(){window.focus();};
}
}
} else {
setTimeout('SelectOnChange()',1000);
}
}
document.onload = SelectOnChange();
위 소스를 공통으로 사용되는 .js 파일내에 추가하면 되겠다.
보통 window.onload 를 자주 사용하기 때문에.. window.onload 를 피해 document.onload 에 함수를 실행하도록 했다.
테스트 결과 document.onload 이후에 window.onload 가 실행되기 때문에, 도큐먼트가 로딩되었어도 셀렉트박스를 찾을 수 없었다.
그래서, document.onload 시에.. document.readyState 상태를 확인하고.. 1초마다 재귀호출을 하도록 하였다.
document.readyState 가 complete 이면 window.onload 가 된 상태이다.
window.onload 전에는 document.readyState 가 loading 으로 나왔다.
그리고, 기존 셀렉트박스에 onchange 이벤트에 함수가 있는 경우에는 제외를 했다.
함수를 추가로 적용시키는 방법이 있으면 좋을텐데.. 아직 찾지 못했다.
이와 유사한 형태로.. 특정한 객체에 공통적으로 적용되어야 할 사항이 있다면..
아주 유용하게 사용되지 않을까 싶다.
관련링크
댓글목록
등록된 댓글이 없습니다.