Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   срабатывание родительского mouseout на дочернем обьекте (https://javascript.ru/forum/events/28810-srabatyvanie-roditelskogo-mouseout-na-dochernem-obekte.html)

Andrey1205 03.06.2012 18:16

срабатывание родительского mouseout на дочернем обьекте
 
Вот примерный скрипт:

<script type="text/javascript">
document.getElementById('div1').mouseout=function( ) {...}
</script>
...
<div id="div1">
<div id="div2">

</div>
</div>
...

При уходе мыши на дочерний обьект срабатывает mouseout для родителя. Как обьяснить браузеру что он находиться в своей области, и должен сработать покинув div1?

Странно но, устанавливая порядок перекрытия через z-index тоже не помогает и это во всех браузерах.Буду очень благодарен.

Deff 03.06.2012 18:41

Andrey1205,
А чего не в этой теме ? http://javascript.ru/forum/events/28...tml#post178286
Проблемы вродь всё с тем же проектом?

bes 03.06.2012 18:46

<style>
  #div1 {background: green}
  #div2 {background: yellow}
</style>

<div id="div1">div1
  <div id="div2">div2
   </div>
</div>

<script>
window.onload = function () {
  var div1 = document.getElementById('div1');

  div1.onmouseout = function (e) {
    e = e || window.event;
    var rt = event.relatedTarget || event.toElement;

    while (rt && rt !== this) rt = rt.parentNode;

    if (rt == this) return; else alert('hy');
  }

}
</script>

Deff 03.06.2012 19:07

Andrey1205,

Вот такая тема - не поможет ? http://javascript.ru/forum/dom-windo...tml#post177716

Andrey1205 04.06.2012 23:04

Думал, проблема другая, создам другую ветку. Вопрос то о событиях. Для своего проекта так решил, тупо проверка по ид:

someObject.onmouseout=function(event) {
event=event || window.event;
var relTarg=event.relatedTarget || event.toElement;
if(relTarg.id != 'childrenObject') $("#childrenObject").remove();
}

еще вот эта статья помогла, не зря говорят идите маны читайте :-) http://javascript.ru/tutorial/events/properties

Спасибо большое. Пошел на карму тыкать :-)


Часовой пояс GMT +3, время: 01:59.