Jump to content
  • 0

mouseover и вложенность


Veseloff
 Share

Question

http://borber.ru/htmlbook/mouseover-trouble.html — вот тут трабл. Три вложенных блока. Для каждого одно и то же событие onmouseover. Когда наводим на самый нижний (он же самый вложенный), то получаем сразу три события onmouseover от самого вложенного блока (то есть на тот, на который собственнно навели) по порядку к блоку нулевого уровня вложенности. Кто подскажет как сделать так, чтобы порядок был обратный, а ещё лучше, чтобы событие вообще срабатывало только на тот блок, на который мы именно и навели?
Link to comment
Share on other sites

11 answers to this question

Recommended Posts

  • 0
Дружище, а ты не мог бы сделать рабочий пример какой нибудь ситуации. Просто на отдельной странице и т. д.

Я не спец, просто попытался подсказать в какую сторону искать.

Вот это

http://forum.vzaokskom.ru/test/bubbling.htm

у меня работает в IE, опере и хроме, но не работает в FF

Только надо не наводить а кликать

Link to comment
Share on other sites

  • 0
Дружище, а ты не мог бы сделать рабочий пример какой нибудь ситуации. Просто на отдельной странице и т. д.

Ща я запилю и покажу как и что и для чего я это всё хотел разузнать. Кстати, не на 100% меня это спасло, пришлось ещё добавить вот так:

e.cancelBubble = true;
e.stopPropagation();

Link to comment
Share on other sites

  • 0

UPD

http://borber.ru/htmlbook/comments/ — вот тут можно посмотреть как и что. Я тут типа древовидные комментарии сделал — так вот запилил границы, чтобы было ясно видно на что коммент отвечает. Там ещё сыровато, но можно мосмотреь как именно работает этот кансел баббл.

Link to comment
Share on other sites

  • 0
Я не спец, просто попытался подсказать в какую сторону искать.

Вот это

http://forum.vzaokskom.ru/test/bubbling.htm

у меня работает в IE, опере и хроме, но не работает в FF

Только надо не наводить а кликать

Спасибо, а объясни плиз поподробнее.

Что означает этот код, каждая строка

  if (event.stopPropagation) {
event.stopPropagation()
} else {
event.cancelBubble = true
}

Link to comment
Share on other sites

  • 0
Спасибо, а объясни плиз поподробнее.

Что означает этот код, каждая строка

  if (event.stopPropagation) {
event.stopPropagation()
} else {
event.cancelBubble = true
}

event.stopPropagation()

event.cancelBubble = true

разные способы сказать, что не надо событие передавать дальше. Каждый из способов работает не во всех браузерах, комбинирование двух - лучше чем каждый по отдельности, но все-же не есть совсем правильное решение.

См. обновленный пример (по той же ссылке).

У меня в хроме и в опере работает и тот и другой способ, в IE - только event.cancelBubble = true

  if (event.stopPropagation) { // проверка будет ли работать первый способ
event.stopPropagation() // если да, то его и использовать
} else {
event.cancelBubble = true // а если нет, то использовать второй
}

Но еще раз повторяю, это не готовое решение, а подсказка где искать :-)

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy