자바스크립트 함수내에서 이벤트 객채를 다룰때.
Posted: 2006 08 16 16:50 33
안녕하세요. 근래 웹 표준을 접하게되 부랴부랴 사이트를 뜯어 고치는 중입니다.
뭣보다도 자바스크립트가 브라우저간 호완이 완벽치 못함으로 인한 문제에서 많이 막히네요.
문제의 코드 (단순화 하였습니다.)
IE 상에서는 object 라고 뜨지만 FF에서는 언디파인드가 뜨네요.
본래는 추가되는 DIV(newElement)에 마우스가 올려질경우 event객체를
파라메터로 전달해 처리하는 함수를 할당시키려고 합니다만은 코드는
문제의 부분만을 보이도록 단순화 시킨겁니다.
검색해보니 모질라 계열 부라우져는 html코드상에서 자바스크립트 함수로
event 객체를 인수로서 넘겨주는 경우에만 참조가 가능하다고 하는군요
즉, <div onMouserOver="javascript:alert(event);"> 이럴때...
하지만 저는 페이지상에 동적으로 DIV를 생성해야 해서 위 방법으로는
해결할 수 가 없네요.
고수님들의 조언부탁드립니다.
뭣보다도 자바스크립트가 브라우저간 호완이 완벽치 못함으로 인한 문제에서 많이 막히네요.
문제의 코드 (단순화 하였습니다.)
Code: Select all
function addDiv(){
var objBody = document.getElementsByTagName("BODY");
var newElement = objBody.appendChild(document.createElement("DIV"));
newElement.className = "hand";
newElement.onmouseover = function (){
alert(event);
}
}
본래는 추가되는 DIV(newElement)에 마우스가 올려질경우 event객체를
파라메터로 전달해 처리하는 함수를 할당시키려고 합니다만은 코드는
문제의 부분만을 보이도록 단순화 시킨겁니다.
검색해보니 모질라 계열 부라우져는 html코드상에서 자바스크립트 함수로
event 객체를 인수로서 넘겨주는 경우에만 참조가 가능하다고 하는군요
즉, <div onMouserOver="javascript:alert(event);"> 이럴때...
하지만 저는 페이지상에 동적으로 DIV를 생성해야 해서 위 방법으로는
해결할 수 가 없네요.
고수님들의 조언부탁드립니다.