Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 26.07.2011, 12:58
Кандидат Javascript-наук
Отправить личное сообщение для Slavenin Посмотреть профиль Найти все сообщения от Slavenin
 
Регистрация: 20.11.2010
Сообщений: 143

Неправильно срабатывает onmouseout
Всем доброго времени суток!

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

<DIV id="submenu" class="submenu">
  <TABLE>
    <TBODY>
      <TR>
        <TD>
          <A href="sub1.php">Подменю1</A>
        </TD>
      </TR>
      <TR>
        <TD>
          <A href="sub2.php">Подменю2</A>
        </TD>
      </TR>
      <TR>
        <TD>
          <A href="sub3.php">Подменю3</A>
        </TD>
      </TR>
    </TBODY>
  </TABLE>
</DIV>


далее я прописываю ему обработчик

var obj = document.getElementById('submenu')
obj.onmouseout = subHandler;


который должен удалять этот див. Проблема в том, что событие срабатывает не когда курсор выходит за пределы дива, а когда он заходит во вложенную таблицу о_О. Теоретически понятно, что таблица это уже другой элемент, но как тогда сделать чтобы событие срабатывало только на выходе из дива? Пробовал прописать событие таблице, результат тот же, только срабатывание происходит при наведении на строку.
__________________

Ответить с цитированием
  #2 (permalink)  
Старый 26.07.2011, 13:16
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,589

mouseleave
Ответить с цитированием
  #3 (permalink)  
Старый 26.07.2011, 13:39
Кандидат Javascript-наук
Отправить личное сообщение для Slavenin Посмотреть профиль Найти все сообщения от Slavenin
 
Регистрация: 20.11.2010
Сообщений: 143

dmitriymar,
благодарю! даж не слышал о таком событии
в опере, ие и мозиле - работает, в хроме - нет, хотя событие прописалось, но вызова обработчика не происходит
__________________

Ответить с цитированием
  #4 (permalink)  
Старый 26.07.2011, 13:51
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,589

посмотри доки по событиям для хрома. я с этим событием не работал-не знаю ,возможно в хроме у него другое название
Ответить с цитированием
  #5 (permalink)  
Старый 26.07.2011, 14:15
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,589

не только хром.походу и в фф5, сафари тоже молчит...

Последний раз редактировалось dmitriymar, 26.07.2011 в 15:35.
Ответить с цитированием
  #6 (permalink)  
Старый 26.07.2011, 15:59
Кандидат Javascript-наук
Отправить личное сообщение для Slavenin Посмотреть профиль Найти все сообщения от Slavenin
 
Регистрация: 20.11.2010
Сообщений: 143

название у него такое же, нашел тему на багтрекере хрома, вроде как эту проблему пофиксили, но событие не отрабатывает, может кто сталкивался с этим?
__________________

Ответить с цитированием
  #7 (permalink)  
Старый 27.07.2011, 14:52
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

ну так детектите сами , что поддерживается


var el = document.createElement('div');

alert([ 'onmouseout' in el, 'onmouseleave' in el ])

Chrome 12: true, false

...
может вы всплытие не учитываете?
<DIV id="submenu" class="submenu" style="border:1px solid">
  <TABLE>
    <TBODY>
      <TR>
        <TD>
          <A href="sub1.php">Подменю1</A>
        </TD>
      </TR>
      <TR>
        <TD>
          <A href="sub2.php">Подменю2</A>
        </TD>
      </TR>
      <TR>
        <TD>
          <A href="sub3.php">Подменю3</A>
        </TD>
      </TR>
    </TBODY>
  </TABLE>
</DIV>
<script>
var obj = document.getElementById('submenu')
obj.onmouseout = function(e){
    if( e.target.id == "submenu")
        alert( "yahoo!" );
}
</script>

Последний раз редактировалось melky, 27.07.2011 в 15:01.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
onmouseout для ячейки таблицы. Sir_Hally Events/DOM/Window 2 24.01.2012 16:21
onmouseout with image Slawaq Events/DOM/Window 3 21.05.2011 01:03
Кто нибудь подскажет onmouseout при ul > li > ul, или все Великие kudenv Элементы интерфейса 2 12.03.2011 12:34
onmouseout вызывается неправильно. lancer Events/DOM/Window 3 21.04.2010 15:18
Проблемы с отработкой onmouseout micscr Events/DOM/Window 5 22.09.2009 18:19