Обработка onMouseOut

12
[Удален]
#11
malls:
Блин если серьезно то я про "пузырьковую обработку" нифига не знаю! Т.е. про "пузырьковую" знаю - это когда пукнешь в лужу, а вот как это событие обрабатывать - ума не приложу... 😂😂😂


neolord по сути - кончай выпендриваться - никто в твоем профессионализме не сомневается. Просто "задвигнутость" на обработках всего и вся через FW реально мешает тебе понять простые ходы для решения простых в принципе задач...
А они есть - поверь! Надо просто забыть про всякую требуху - которая написана исключительно для совсем дебилов, которые ее изучают, не изучив предварительно то на чем она написана.

Надо понять, что мой вопрос ну ровным счетом никакого отношения к фреймворкам не имеет ;)

'Atari [DJEM:
;4414785']В методе hover jQuery в принципе умеет правильно обрабатывать вложенность обьектов.
Так что можно что-то вроде:
$('#myDivId').hover(function() {}, function() { $(this).hide() });

Спасибо, но я не использую jQuery

СКОРПИОН:
neolord, решил я эту задачу, самому интересно стало. Надо не от outa, а от overa плясать (понятно, ведь, почему - в противном случае нарушается событийная модель).

Чуть изменил приведённый ранее пример. Вот рабочий код:

Спасибо, это интересный вариант =) Ну правда учитывая что таких блоков у меня N, которые генерятся с сервера, засунуть всю их обработку в body.onmouseover мне не представляется возможным, но тем не менее за ход мысли - благодарю

СКОРПИОН
На сайте с 05.01.2006
Offline
120
#12
neolord:
Ну правда учитывая что таких блоков у меня N, которые генерятся с сервера, засунуть всю их обработку в body.onmouseover мне не представляется возможным

Тогда так, без всяких обработок на уровне документа:


<html>
<head>
<style type="text/css">
body {margin: 0Px; padding: 0Px;}
#onmo {margin: 50Px; padding: 50Px; width: 500Px; height: 500Px; background: #f00;}
#onmo a {color: #fff; font: 2em tahoma;}
#onmo a:hover {color: #000;}
</style>
</head>
<body>
<div id="onmo" onmouseout="var __e = event.relatedTarget || event.toElement; __te = __e.parentNode || __e.parentElement; if(__te.id != this.id) this.style.display = 'none';" onmouseover="this.style.display = 'block';">
<a href="">Link 1...</a><br />
<a href="">Link 2...</a><br />
<a href="">Link 3...</a><br />
<a href="">Link 4...</a><br />
<a href="">Link 5...</a>
</div>
<body>
</html>

З.Ы.

В опере, лисе, ишаке, хромом, сафари работает. Других браузеров под рукой сейчас нет...

Ну не дала покоя мне эта задачка... 😂

• Контекстные ссылки с внутренних страниц навсегда (/ru/forum/370882) • Качественные сайты для заработка на контекстной рекламе и ссылках
[Удален]
#13

На самом деле все оказалось еще интересней.

Дело как раз таки в фреймворке скриптакулос. Скрытие сокрытие в явном виде работает, как и другие мгновенные преобразования, например

onmouseover="this.style.color='#F00';"

ommouseout="this.style.color='#0F0';" - работает четко независимо от всяких вложенных элементов

а вот при подключении фреймворка модель событий как то меняется и событие onmouseover и onmouseout при движении мышки по внутренним элементам срабатывают одновременно, при этом их target меняется местами. Типа если есть <div id='div'><a id='a'>, то при наведении мыши на анкор, получаем (символическая запись) onmouseout.target.id==div, onmouseover.target.id==a, а при сведении мыши с неё в пределы дива ровно наоборот. События при этом перехватываются на уровне дива. Вот такое интересное кино. но с этим я как нибудь уж разберусь =)

malls
На сайте с 08.08.2005
Offline
255
#14
neolord:
На самом деле все оказалось еще интересней.
Дело как раз таки в фреймворке скриптакулос.

Во-во кто то там (не помню уже) в соответствующей ветке с пеной у рта кричал что во ФВ глюков нет, все круто и т.п. (ЗЫ: neolord - не ты... Но в той самой ветке... )

T.R.O.N
На сайте с 18.05.2004
Offline
314
#15
neolord:
Не надо выпендриваться, я знаю что такое дом, и знаю что такое пузырьковая обработка событий, и что такое event capture я тоже знаю, только вот вопроса это не снимает.

Куча умных слов, а толку никакого. Если не лезть в дебри, то. В DOM все есть, понимаете, и решение, приведенное СКОРПИОН - оног универсально.

neolord:
$(this).hide() Ровно то же самое что this.style.display='none'
Именно такая последовательно и говорит о том, что любовь к фреймворкам рулит. Брость вы это г...но. Вернитесь к истокам. Избавитесь от гемора и почерпнете много умного.
От воздержания пока никто не умер. Хотя никто и не родился! Prototype.js был написан теми, кто не знает JavaScript, для тех, кто не знает JavaScript (Richard Cornford)
[Удален]
#16
malls:
Во-во кто то там (не помню уже) в соответствующей ветке с пеной у рта кричал что во ФВ глюков нет, все круто и т.п. (ЗЫ: neolord - не ты... Но в той самой ветке... )

це не глюк а фича 😆

T.R.O.N:
Куча умных слов, а толку никакого. Если не лезть в дебри, то. В DOM все есть, понимаете, и решение, приведенное СКОРПИОН - оног универсально. Именно такая последовательно и говорит о том, что любовь к фреймворкам рулит. Брость вы это г...но. Вернитесь к истокам. Избавитесь от гемора и почерпнете много умного.

решение конечно универсально, примерно настолько же универсально, как универсальна отвертка, понимаете? Ей можно сделать все, вопрос в количестве телодвижений. Я стараюсь экономить время на разработке, и мне не влом использовать готовые решения. Один раз сейчас разберусь, зато следующие 10 подобных случаев сделаю в 100 раз быстрее. Ну и неужели вы думаете что я начал изучать JS с фреймворков? Это было бы глупо. До недавнего времени я все писал без них - а сейчас понимаю что только время тратил.

T.R.O.N
На сайте с 18.05.2004
Offline
314
#17
neolord:
Я стараюсь экономить время на разработке

кто спорит. ждать ответы на форуме и отлов глюков/фич - безусловно экономит время.

neolord:
Один раз сейчас разберусь, зато следующие 10 подобных случаев сделаю в 100 раз быстрее

что именно быстрее??? Набор кода из 100 сиволов или из 20 - конечно, штука серьезная, особенно если юзать копи/паст.

neolord:
Ну и неужели вы думаете что я начал изучать JS с фреймворков

Судя по Вашим постам, не очень начали хоть как-то. Еще раз скажу, судя по постам. Если бы Вы, хотябы, пару лет серьезно этим бы занимались, у Вас былибы собственные наработки на все случаи жизни. При этом они были бы компактней, не имели-бы непредсказуемые глюки и не требовали-бы времени на освоение.

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий