submit시 현재 마우스좌표 구하기..문제
Posted: 2006 02 16 18:30 38
Code: Select all
<script>
function ws(e) {
alert(e.pageX);
return false;
}
</script>
<form onsubmit='return ws(event)'>
<input type=text onclick=ws(event)>
<input type=submit>
</form>
첫번째로 위와 같이 시도를 했습니다.
하지만 익스와 다르게,
마우스이벤트라면 [object MouseEvent],
오브젝트에서 일어난 이벤트라면 [object Event] 로 엘리먼트에 따라 구분을 하더군요.
익스는 (메소드에 따라?)타입을 자동으로 구분하는건지 별 문제가 없는데 말입니다.
그래서 아래와 같이 document에 addEventListener를 먹여 마우스 관련 이벤트를 물려 함수에 연결하였습니다.
Code: Select all
function SaveMouseEvent(e)
{
if(!e) var e = window.event;
MouseEventValue = e;
}
document.addEventListener('mousedown',SaveMouseEvent,false);
document.addEventListener('mouseenter',SaveMouseEvent,false);
document.addEventListener('mouseleave',SaveMouseEvent,false);
document.addEventListener('mousemove',SaveMouseEvent,false);
document.addEventListener('mouseout',SaveMouseEvent,false);
document.addEventListener('mouseover',SaveMouseEvent,false);
document.addEventListener('mouseup',SaveMouseEvent,false);
document.addEventListener('mousewheel',SaveMouseEvent,false);
그 다음 ws함수를 아래와 같이 변경 하였습니다.
Code: Select all
function ws() {
e = MouseEventValue;
alert(e.pageX);
return;
}
총코드
Code: Select all
<script>
function ws() {
e = MouseEventValue;
alert(e);
alert(e.pageX);
return;
}
function SaveMouseEvent(e)
{
MouseEventValue = e;
}
document.addEventListener('mousedown',SaveMouseEvent,false);
document.addEventListener('mouseenter',SaveMouseEvent,false);
document.addEventListener('mouseleave',SaveMouseEvent,false);
document.addEventListener('mousemove',SaveMouseEvent,false);
document.addEventListener('mouseout',SaveMouseEvent,false);
document.addEventListener('mouseover',SaveMouseEvent,false);
document.addEventListener('mouseup',SaveMouseEvent,false);
document.addEventListener('mousewheel',SaveMouseEvent,false);
</script>
<form onsubmit=ws(event)>
<input type=text onclick=ws(event)>
<input type=submit>
</form>
이벤트를 변수에 저장하게 되면 이벤트값은 혹시 소멸 되는건가요???
클릭했을경우는 이벤트값이 제대로 되어있는데,
엔터키(submit시)를 눌리면 값이 0으로 나오는 것을 확인 하실 수 있습니다.
어떻게 해야하는지 궁금합니다.