X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость ( Вход | Регистрация )

Открыть тему
Тема закрыта
> События в html
danisimo
danisimo
Topic Starter сообщение 16.2.2011, 20:10; Ответить: danisimo
Сообщение #1


Бывалый
****

Группа: User
Сообщений: 390
Регистрация: 8.9.2010
Поблагодарили: 65 раз
Репутация:   12  


Такая вот проблемка. Дан блок внутри которого есть картинка. Вешаем обработчик onmouseover и onmouseout на блок. В итоге когда наводим на картинку происходит следующая цепочка событий:
mouseover (блок)
mouseout (блок)
mouseover (блок и картинка)

Почему картинка вызывает mouseout у блока при наведении на неё, ведь картинка находится внутри...непонятно....знает кто как избавится от этого?
Пытался вешать на картинку onmouseover='return false' - не помогает


--------------------
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
kRicha
kRicha
сообщение 16.2.2011, 21:07; Ответить: kRicha
Сообщение #2


Завсегдатай
*****

Группа: Active User
Сообщений: 932
Регистрация: 29.6.2010
Из: Киева
Поблагодарили: 222 раза
Репутация:   39  


http://www.w3schools.com/jsref/event_onmouseover.asp попробуйте в обработчиках этих примеров, мож чет не так делаете, или пунктуацию не соблюдаете.

p/s/ а что вообще должно делаться? На css нельзя реализовать?


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
rjksdfhe
rjksdfhe
сообщение 16.2.2011, 21:15; Ответить: rjksdfhe
Сообщение #3


Straight arms
*******

Группа: Active User
Сообщений: 2760
Регистрация: 21.4.2009
Из: Мытищи, МО, РФ
Поблагодарили: 1111 раз
Репутация:   163  


Всё правильно происходит.
Внутренние объекты считаются уходом с фокуса родительского.

Вешайте один обработчик на onmouseover и onmouseout - ушло с блока, пришло на картинку, миллисекунды не прошло, фокус не потерян.

onmouseover='return false' не поможет, некому этот false обрабатывать


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
kRicha
kRicha
сообщение 16.2.2011, 21:19; Ответить: kRicha
Сообщение #4


Завсегдатай
*****

Группа: Active User
Сообщений: 932
Регистрация: 29.6.2010
Из: Киева
Поблагодарили: 222 раза
Репутация:   39  


(rjksdfhe @ 16.2.2011, 19:15) *
Всё правильно происходит.
Внутренние объекты считаются уходом с фокуса родительского.

Вешайте один обработчик на onmouseover и onmouseout - ушло с блока, пришло на картинку, миллисекунды не прошло, фокус не потерян.

onmouseover='return false' не поможет, некому этот false обрабатывать

в примере false может быть обработан, если использовать javascript
<html>
<head>
<script type="text/javascript">
function mouseOver()
{
document.getElementById("b1").src ="b_blue.gif"
}
function mouseOut()
{
document.getElementById("b1").src ="b_pink.gif"
}
</script>
</head>

<body>
<a href="http://www.w3schools.com" target="_blank" onmouseover="mouseOver()"
onmouseout="mouseOut()">
<img border="0" alt="Visit W3Schools!" src="b_pink.gif" id="b1" /></a>
</body>
</html>


--------------------


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
danisimo
danisimo
Topic Starter сообщение 16.2.2011, 21:20; Ответить: danisimo
Сообщение #5


Бывалый
****

Группа: User
Сообщений: 390
Регистрация: 8.9.2010
Поблагодарили: 65 раз
Репутация:   12  


мож чет не так делаете, или пунктуацию не соблюдаете.


Та ну.. с чего бы.. всё правильно...всё происходит по правилам w3c, которые я пытаюсь обойти

Вешайте один обработчик на onmouseover и onmouseout - ушло с блока, пришло на картинку, миллисекунды не прошло, фокус не потерян.


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


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
rjksdfhe
rjksdfhe
сообщение 16.2.2011, 21:25; Ответить: rjksdfhe
Сообщение #6


Straight arms
*******

Группа: Active User
Сообщений: 2760
Регистрация: 21.4.2009
Из: Мытищи, МО, РФ
Поблагодарили: 1111 раз
Репутация:   163  


kRicha, не вижу `false` в коде, ни в возврате, ни обработчиков.

onMouseOver и иже с ними возникают для любых перекрывающих родителя видимых объектов, и родитель при этом теряет статус over.

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


Ничто не совершенно, особенно если будете кроссбраузерно делать.
Иногда нужны компромиссы.

Сообщение отредактировал rjksdfhe - 16.2.2011, 21:31
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
danisimo
danisimo
Topic Starter сообщение 16.2.2011, 21:28; Ответить: danisimo
Сообщение #7


Бывалый
****

Группа: User
Сообщений: 390
Регистрация: 8.9.2010
Поблагодарили: 65 раз
Репутация:   12  


В ИЕ есть такое событие onmouseenter и mouseleave , оно бы и решило все проблемы, если бы было и в других браузерах.... ходят слухи что есть кроссбраузерные эмуляторы этих событий, но вот найти чтото не получается ...


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
kRicha
kRicha
сообщение 16.2.2011, 21:30; Ответить: kRicha
Сообщение #8


Завсегдатай
*****

Группа: Active User
Сообщений: 932
Регистрация: 29.6.2010
Из: Киева
Поблагодарили: 222 раза
Репутация:   39  


(rjksdfhe @ 16.2.2011, 19:25) *
kRicha, не вижу `false` в коде, ни в возврате, ни обработчиков.

onMouseOver и иже с ними возникают для любых перекрывающих родителя видимых объектов, и родитель при этом теряет статус over.

а так виднее?
http://www.quirksmode.org/js/boolean.html


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Вёрстка. Per aspera ad html.
С радостью принимаю заказы по вёрстке.
3 ValeryRar 425 1.12.2017, 11:02
автор: ValeryRar
Открытая тема (нет новых ответов) Исправлю HTML ошибки на страницах Вашего сайта
10 guruapps 1159 30.11.2017, 22:59
автор: maxim1249
Горячая тема (нет новых ответов) HTML-вёрстка по доступной цене
30 graycat777 11456 25.11.2017, 23:56
автор: graycat777
Горячая тема (нет новых ответов) [предлагаю] Качественные услуги по PHP/HTML/CSS/JS, любые движки
Услуги программирования
31 Alexandr_js 10020 2.11.2017, 16:36
автор: gretskov
Открытая тема (нет новых ответов) Тема имеет прикрепленные файлыВерстка шаблонов на joomla, WP, html
27 skiv86 7974 7.10.2017, 15:36
автор: skiv86


 



RSS Текстовая версия Сейчас: 11.12.2017, 21:50
Дизайн