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


Автор: artsb 29.6.2009, 21:37
Привет!

Есть такой кусочек страницы:
Код

    <div id='mr'>
      <table id='mr_cnt' onmouseout="document.getElementById('mr').style.display = 'none'">
        <tr>
          <td><img id='cnt_img' src='' width='250px'></td>
          <td>content</td>
        </tr>
      </table>
    </div>

На странице есть img. При наведении на него появляется div (id='mr'). Изначально, курсор оказывается над img (id='cnt_img'). При выходе курсора мыши за пределы этого img'а div (id='mr') скрывается. Хотя это должно происходить, когда курсор покидает таблицу. Не могу понять, почему он так себя ведёт...

Автор: bars80080 29.6.2009, 22:22
а в таблице есть ещё что-нибудь? а то по приведённому примеру она просто обтягивает картинку и всё. тогда картинка == всему блоку

Автор: artsb 29.6.2009, 22:46
Цитата(bars80080 @  29.6.2009,  22:22 Найти цитируемый пост)
есть ещё что-нибудь?

Нет. Вот как я привёл.

Цитата(bars80080 @  29.6.2009,  22:22 Найти цитируемый пост)
тогда картинка == всему блоку 

Неа. Второй столбец содержит текст.

Автор: artsb 29.6.2009, 23:14
Походу, при наведении курсора на любой из элементов внутри дива (типа img) расценивается как mouseout для этого дива. Как это побороть...

Автор: An6rey 29.6.2009, 23:17
http://www.quirksmode.org/js/events_order.html

Автор: artsb 30.6.2009, 00:08
An6rey, спасибо. Посмотрел. Хотя не совсем понял. smile Как это можно присобачить в моём случае?

Автор: IDVsbruck 30.6.2009, 00:57
Ну как, как - читаешь и делаешь, там все подробно описано. Когда-то тоже маялся с этими входами-выходами мыши на элемент, а потом стал пользоваться фреймворком jQuery, где появились обработчики mouseenter и mouseleave - то есть просто вхождение мыши в зону элемента и выход их нее, без всяких пузьрьков и наследований.

Автор: artsb 30.6.2009, 14:52
Цитата(IDVsbruck @  30.6.2009,  00:57 Найти цитируемый пост)
читаешь и делаешь

Это то понятно. smile Читать много, да ещё на английском...
А вот за jQuery ОГРОМНОЕ спасибо! Сделал то, что хотел, да ещё с анимацией ))

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