Автор Тема: Событие onMouseOut для таблицы  (Прочитано 3827 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн 4you

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 17
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Событие onMouseOut для таблицы
« : 09 Января 2006, 14:57:18 »
Подскажите пожалуйста возможное решение для след. ситуации.

Имею таблицу. Необходимо выполнить какую-нибудь функцию когда мышка "покидает" площадь таблицы. Пишу так:








TEST ONE
TEST ONE


К сожалению событие срабатывает тогда, когда перехожу от ячейки к ячейки. Необходимо чтоб срабатывало только тогда, когда полностью ушел с таблицы. Заранне благодарен

Оффлайн CGVictor

  • теперь местный
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2511
  • +0/-0
  • 2
    • Просмотр профиля
    • http://cg.net.ru
Событие onMouseOut для таблицы
« Ответ #1 : 09 Января 2006, 17:01:13 »
4you
- table onMouseOut (не tbody)
- засунуть талицу в div
LJ: Backslashed life (rss)

Оффлайн 4you

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 17
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Событие onMouseOut для таблицы
« Ответ #2 : 09 Января 2006, 17:03:01 »
CGVictor
К сожалению не помогает, пробовал... Причем и DIV-у назначал обработчик события и тоже ничего. Как только я перемещаюсь между ячейками полчую событие onMouseOut

Оффлайн noocky

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 39
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Событие onMouseOut для таблицы
« Ответ #3 : 09 Января 2006, 18:32:54 »
Должно сработать. :)







TEST ONE
TEST ONE


Оффлайн 4you

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 17
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Событие onMouseOut для таблицы
« Ответ #4 : 10 Января 2006, 09:59:32 »
noocky
Да, это намног получше.. Спасибо! Вот теперь осталось разобраться почему такая конструкция лучше.

Оффлайн noocky

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 39
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Событие onMouseOut для таблицы
« Ответ #5 : 10 Января 2006, 21:20:11 »
4you

Ну, вероятно расстояние между ячейками браузер за часть таблицы не считает, поэтому при попадании курсора на это самое место между ячейками и происходит mouseout. Если поставить cellspacing=0 (т.е. расстояние м/у ячейками равно нулю), то mouseout все-равно происходит, но зато сразу после mouseout ячейки, с которой вышли, наступает mouseover ячейки на которую пришли. Следовательно, при переходе между ячейками для всей таблицы сначала происходит mouseout, а за ним сразу mouseover.

Что мы делаем:

Пускаем alert() или другую нужную функцию с задержкой, причем, пускаем ее при условии, что для таблицы не выполнился mouseover (то есть курсор вышел из таблицы). Проверка делается через переменную doTest.

Т.е. курсор вышел из ячейки – сработал mouseout (для таблицы), doTest приравнивается true, если курсор вошел на другую ячейку (не вышел из таблицы), то сработал mouseover (для таблицы), doTest приравнивается false, иначе doTest так и остается true. А далее через 10 миллисекунд выполняется Test(), которая при условии doTest == true выдает alert() или другую нужную функцию.

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28