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



 

Здравствуйте, гость (

| Вход | Регистрация )

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


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

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


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


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

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


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


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

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

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


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


(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


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


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

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


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


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


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

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

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


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

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


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


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


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

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

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

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


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


Свернуть

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

  Тема Ответов Автор Просмотров Последний ответ
Горячая тема (нет новых ответов) Вёрстка HTML-писем
30 Vampler 29360 27.3.2024, 12:41
автор: Vampler
Открытая тема (нет новых ответов) Разработка/доработка сайтов Wordpress, HTML/CSS/JS
Вёрстка, перенос на WP, правки
9 malamut 3460 25.1.2024, 14:36
автор: malamut
Открытая тема (нет новых ответов) СОЗДАНИЕ : / САЙтЫ / ЛЕНДЫ / БОТЫ ТГ / ВАЙТЫ / КРЕО / СОФТЫ / ДИЗАЙН [PHP, JS, HTML/CSS] и другое
5 CULA 3400 19.12.2023, 18:55
автор: CULA
Открытая тема (нет новых ответов) Залить html страницу на 20 доменов
6 TABAK 1705 22.5.2023, 16:24
автор: KORUP
Открытая тема (нет новых ответов) Сделать правки на html-странице
5 TABAK 2303 20.5.2023, 10:45
автор: EvilGomel


 



RSS Текстовая версия Сейчас: 20.4.2024, 0:45
Дизайн