подскажите плиз антельнативу window.event.clientX для Мозилы

tf

крылья рулят
подскажите плиз антельнативу window.event.clientX для Мозилы

найти никак не могу найти
как вяснить тек положение курсора для мозилы
 

crocodile2u

http://vbolshov.org.ru
Положение курсора и event в общем случае не связаны. Поясни задачу.
 

tf

крылья рулят
ok
необходим кусок кода кот выясныет тек положение курсора с ie,opera,mozilla
туговато движется мой поиск
 

akxxiv

Новичок
Так же как и для IE - event.clientX, только в мазиле событие передается по ссылке, поэтому нужно писать где-то так

if (typeof evt == "undefined") {evt = event;}
client_x = evt.clientX;
 

tf

крылья рулят
akxxiv
скорее всего я не понимаю прием
sth.onmoseover = function(evt)
можно ссылку где он работает
 

crocodile2u

http://vbolshov.org.ru
PHP:
<div id="myDiv">Click Me</div>
<script>
sth = document.getElementById('myDiv');
sth.onmoseover = function(evt) {
   if (!evt) evt = window.event;
    alert(evt.clientX);
}
</script>
 

tf

крылья рулят
crocodile2u
спасибо помогло.
сам пытался document.getElementById('sth').Onclick = function(evt) - не работает
 

tf

крылья рулят
akxxiv
вот как оно все хитро. спасибо будут знать
 

kpp

Новичок
PHP:
	<script type="text/javascript">
	var SelectedItem;
	var SelectedX, SelectedY;
	var MouseX, MouseY;
	
	function Move(ClickedItem)
	{
		/*if(typeof evt == "undefined"){
			evt = event;
		}*/
		SelectedItem = ClickedItem;
		SelectedX = SelectedItem.style.pixelLeft;
		SelectedY = SelectedItem.style.pixelTop;
		MouseX = event.clientX;//MouseX = evt.clientX;
		MouseY = event.clientY;//MouseY = evt.clientY;
		document.onmousemove = Drag;
		document.onmouseup = Drop;
	}
	
	function Drag(evt)
	{
		if(typeof evt == "undefined"){
			evt = event;
		}
	
		SelectedItem.style.left = SelectedX + (evt.clientX - MouseX);
		SelectedItem.style.top = SelectedY + (evt.clientY - MouseY);
		return false;
	}
	
	function Drop()
	{
		document.onmousemove = null;
		document.onmouseup = null;
	}
	</script>

	<div style="position:relative; width:550px; height:125px;">

		<div  onmousedown="Move(this)" style="position:absolute; left:15px; top:10px; cursor: move">
			DIV
		</div>
</div>
Пытался наколдовать, как описано выше и как описано по ссылке, предложеной выше, все равно в FF не работает, в IE всё нормально.
В моём случае функция обработчик события не определяется сразу за обработчиком события! И вообще непонятно откуда берущийся параметр функции evt
Автор оригинала: tf
akxxiv
PHP:
 sth.onmoseover = function(evt) {
   if (!evt) evt = window.event;
    alert(evt.clientX);
}
Какой Дед-Мороз будет вызывать эту функцию с параметром evt?

Не перетряхивая сильно код можно сделать рабочим его для FF или извращаясь все функции прикреплять непосредственно к событиям?
 

dimagolov

Новичок
забудьте про document.onmousemove=, вешайте обработчики через addEventListener или attachEvent (в зависимости от того Mozila или IE)
 
Сверху