Страницы: 1
Вобщем следующая проблема
мне нужно чтобы в функции определялось event.clientX , как я понял в лисе нету window.event
поэтому необходимо передавать event в фукцию как параметр. Но я этого сделать не могу =-(. как мне получить координаты внутри функции?
Вот кусок кода:
<div onMouseDown="StartMove(event)"></div>
<script>
function StartMove(evt)
{
document.mousemove=Drag(evt);
}
function Drag(evt)
{
Alert(evt.clientX) Вот именно тут мне нужно получить координаты мыши, но передать их сюда параметром я не могу, т.к. строка document.mousemove=Drag(event) ; не срабатывает!!. Как мне получить сюда координаты мышки ?!
}
</script>
Попробовал альтернативный путь
function StartMove(element,evt)
{
element.addEventListener("mousemove",Drag(evt),false); оно отрабатывает, но в консоли полявляется ошибка Uncaught Exeption: null и курсорчик замирает в виде песочных часов.
}
Отсутствует
<html>
<body>
<script type="text/javascript">
function Move(element,evt)
{
element.addEventListener("mousemove",Drag(evt),false);
}
function Drag(evt)
{
document.write(evt.clientX+' '+evt.clientY);
}
</script>
<div onMouseDown="Move(this,event)" style='position: absolute; width: 200px; height: 150px; border:3px solid black;'>
</div>
<div id="coord"></div>
</body>
</html>
Отсутствует
Что за бред?
Во-первых, в addEventListener вы пытаетесь передать вместо функции результат её работы.
Во-вторых, куда по вашему должен писать document.write?
Может вам этого надо?
<html> <body> <script type="text/javascript"> function Drag(evt) { document.getElementById('coord').innerHTML = evt.clientX+' '+evt.clientY; } </script> <div onMouseDown="Drag(event);this.addEventListener('mousemove',Drag,false)" onMouseUp="this.removeEventListener('mousemove',Drag,false)" style='position: absolute; width: 200px; height: 150px; border:3px solid black;'> </div> <div id="coord"></div> </body> </html>
Isn't it ironic... don't you think? — Alanis Morissette
Отсутствует
У IE как всегда свой путь...
http://xpoint.ru/know-how/JavaScript/PoleznyieFunktsii?35#ObrabotkaSobyitiy
Isn't it ironic... don't you think? — Alanis Morissette
Отсутствует
Лучше всего делать так (идеально работает во всех браузерах):
<...> element.onmousemove = something; // или в теге элемента прописать onmousemove="return something(event)" function something(event){ if (typeof(event)=="undefined") event = window.event; var el = (!event.target) ? event.srcElement : event.target; // Пример того, как получать объект породивший событие alert(event.clientX); // а лучше: alert(event.pageX); }
Всё очень просто
Отсутствует
Страницы: 1