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
Сообщений: 933
Регистрация: 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
Сообщений: 933
Регистрация: 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
Сообщений: 933
Регистрация: 29.6.2010
Из: Киева
Поблагодарили: 222 раза
Репутация:   39  


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

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

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

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.


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


Свернуть

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

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Интеграция html на Wordpress
8 mxxx 1372 16.5.2018, 18:06
автор: Chezarius
Открытая тема (нет новых ответов) Перенесу вашу HTML+CSS верстку на Wordpress
0 blackhead 401 9.5.2018, 14:50
автор: blackhead
Открытая тема (нет новых ответов) Вёрстка HTML-писем
15 Vampler 4678 7.5.2018, 21:10
автор: Vampler
Открытая тема (нет новых ответов) Есть эксперты HTML + CSS ?
4 _fan_ 645 3.5.2018, 22:32
автор: _fan_
Горячая тема (нет новых ответов) HTML-вёрстка по доступной цене
35 graycat777 13264 2.5.2018, 15:35
автор: graycat777


 



RSS Текстовая версия Сейчас: 27.5.2018, 18:24
Дизайн