Javascript. Исчезание меню при клике вне области меню.

Loki-Di

Новичок
Javascript. Исчезание меню при клике вне области меню.

Приветствую.

В общем написал небольшой код, где при клике по картинке пониже её открывается спрятанная "display: none"'ом табличка с ссылками. Типа меню =)

Меню это так и должно всегда оставаться открытым, пока человек не кликнет куда-нибудь ВНЕ области этого меню.

Возможно вопрос простой, но я в javascripte мало понимаю.

Так как дать понять ява скрипту что следует прятать меню при клике ВНЕ области меню (где угодно на сайте) а НЕ при банальном onMouseOut? =)

Спасиба)
 

WP

^_^
Ну дык делаешь по событию document.onclick проверку наведено или нет, если нет то прячь. Т.е. при onmouseover поднимай флаг, а по onmouseout опускай. А по этому событию проверяй поднят ли флаг.
 

an_kalinovski

Новичок
Автор оригинала: WP
Ну дык делаешь по событию document.onclick проверку наведено или нет, если нет то прячь.
onblur - потеря фокуса. вешаешь onblur на элемент, который содержит меню и всё
 

denver

?>Скриптер
an_kalinovski
А есть ли где демо? А то сдается мне что не всё так уж и просто.
1. onblur есть только у элементов у которых может быть фокус(ссылка или, скажем, элемент ввода) или у которых прописан tabindex.
2. даже если ухитриться сделать этому элементу.focus(), то хрен получается сделать это всё кроссбраузерным. Пока у меня пример есть работающй только в IE, Mozilla.

WP
Угу. Тока onclick кажись достаточно, учитывая ньюансы.

Loki-Di
Может выберешь другой какой-нибудь вариант? :)
 

Loki-Di

Новичок
2denver, да, действительно не всё так просто оказалось.

Я тут наткнулся на http://www.fckeditor.net/demo/
и меня навело на мысль, реальные ли там используются selectbox'ы или же это их эмуляция?

Если эмуляция, то они эту проблему решили, только вот в коде ползать - я ничего не пойму.
 

Loki-Di

Новичок
Да, это действительно эмуляция. Нашёл кусок кода где нисподающий список является таблицей =)
Но более ничего не понял, т.к. всё очень запутано в классах и прототипах %)

2Crys, моя цитата до вашего сообщения:
"только вот в коде ползать - я ничего не пойму".
И ранее (в первом сообщении):
"но я в javascripte мало понимаю"

В общем полезу дальше в сети шарить. Может наткнусь на рабочий пример, но попроще.

=========================================

Чтобы не бросать тему на полдороги и может кому понадобится.
Вот что-то аналогичное, только работает не совсем верно

Ссылка 1
Ссылка 2

-~{}~ 11.09.06 14:35:

Ещё одна ссылка, полностью удовлетворяющая цели:
dhtmlxMenu
 
Сверху