Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > Как определеть находится ли мышь


Автор: Bangladesh 11.8.2005, 08:44
нужна функция, собственно.

Автор: Sardar 11.8.2005, 15:50
Лови событие onmouseover на требуемом обьекте.

Автор: Bangladesh 12.8.2005, 05:14
т.е. это выглядит примерно так?

Код

<script language="JavaScript">
function OnMOut(){
var obj = window.event.srcElement;
 if(obj.onmouseover){
  // код
 }
 else{
  // код
 }
}
</script>

Автор: Sardar 12.8.2005, 15:23
Ну а кто по твоему будет бызывать твою функцию? К тому же obj.onmouseover будет существовать в любом случае если существует такой обработчик, не зависимо какое сейчас событие.

Зри в корень и откинь C/C++/Pascal логику smile

Код
<script type="text/javascript">
<!--
function dispatchMyEvent(obj, type) {
  document.getElementById('dbg').innerHTML+="Event: "+type+", on: "+obj.tagName+";<br />";
}
//-->
</script>
<div style="border: 1px solid navy; padding:5px margin: 5px;">Border top</div>
<div onmouseover="if((event.target? event.target: event.srcElement).tagName.toUpperCase()==this.tagName) dispatchMyEvent(this, 'mouseover')" style="border: dotted 1px #555">Test <span>Test inner</span></div>
<div style="border: 1px solid navy; padding:5px margin: 5px;">Border Bottom</div>
<br>
<br>
Debug:
<div id="dbg" style="border: 1px red solid; padding: 3px;"></div>

Проверка на tagName нужно что бы не ловить bubbling события что генеряться на внутренних элементах и спускаються к div'у.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)