Jump to content
  • 0

Помогите правильно "закрыть меню"


Maslakoff
 Share

Question

Здравствуйте, у меня возникли некоторые проблемы с закрытием меню. Естесственно меню я делал сам. Оно привязываеться к tr элементу таблицы. В общем его можно привязать к чему угодно.

Привязка к строке таблицы:

	  <tr onmouseover="this.className='box_tr_over';" onmouseout="this.className='';" oncontextmenu="return drop_menu('files', 1);">
<td><input type="checkbox" /></td>
<td>...</td>
<td>...</td>
<td>...</td>
<td>...</td>
</tr>

Это конечно не главное...

В целом, скрипт работает отлично. Открывается как нужно по событию oncontextmenu.

Теперь возникла проблема закрыть меню. На данный момент первое что пришло в голову:

<body onclick="drop_menu_hidden();">

Но это далеко не то что нужно...

Я с обработкой window.event знаком не сильно хорошо, поэтому помогите в этом. :rolleyes:

Плюс, следить через setTimeout за событиями, думаю, тоже не катит...

Link to comment
Share on other sites

10 answers to this question

Recommended Posts

  • 0

Можно создать текстовое поле (но не скрытое, а размером 1x1px и с отрицательным индексом, чтобы оно могло получить фокус) и при раскрытии меню передавать ему фокус, а далее уже следить, когда оно потеряет фокус - закрывать меню. То есть и при выборе пункта меню оно тоже будет закрываться. Я использовал такой подход при эмуляции селекта, потому как не придумал ничего более, как можно было бы имитировать получение фокуса настоящим селектом.

Link to comment
Share on other sites

  • 0

Такой подход так же позволяет осуществлять быстрый поиск в списке по первой букве (если он прокручиваемый), потому как поле в фокусе и в него свободно можно вводить текст

Link to comment
Share on other sites

  • 0

У нас два интранет проекта на extjs крутятся)

Единственное что нуждалось в доработке - создание расширения: менеджера модулей (который отвечал за контроль над динамической подгрузкой js-скриптов и их удалением) и на стороне сервера - контроль за правильным объединением оредел?нных js-скриптов, кэширования и корректной выдачи 304 заголовка.

Работает довольно шустро.

Просто прелесть!

Прелесть только визуальная, а для новичка фреймворка море головной боли, когда задумаетесь об оптимизации)

Я боролся за каждую миллисекунду)

Link to comment
Share on other sites

  • 0

Ага...

Оптимизация это да...

Но в целом, как по мне то не сильно сложно рисовать интерфейсы. Я за пол часа уже чтото накидал...

В общем возможностей куча... Вот только в фаерфоксе увидил бока и в опере. Походу писана под ИЕ?

LokiDi L0ck, кстати, если можешь, то в двух словах о менеджере модулей и немножко о его реализации. И что за проблэм с 304 заголовком? Конечно, если не коммерческий секрет. (можно в ЛС).

Link to comment
Share on other sites

  • 0

Поподробнее к сожалению не могу)

Но подсказки скинуть можно:

http://extjs.com/forum/showthread.php?t=21681 здесь похожая реализация, но за удалением ненужных объектов прид?ться следить самому.

http://extplorer.sourceforge.net/ здесь можно посмотреть реализацию scriptjoiner'а =)

Вот только в фаерфоксе увидил бока и в опере. Походу писана под ИЕ?

У нас везде работает одинаково хорошо. Возможно вы используете какое-либо doctype объявление? =)

[uPD] Погуглите qooxdoo, может тоже будет интересным)

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