Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   popupMenu (https://javascript.ru/forum/dom-window/3396-popupmenu.html)

Shasoft 15.04.2009 17:40

popupMenu
 
Ищет скрипт popupMenu. Чтобы была функция callback, в которой можно было бы сформировать список пунктов.

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

Все найденные скрипты делаю меню по статическому списку и никак нельзя (либо я просто не разобрался) править эти пункты перед вызовом.

Может кто-то может подсказать ссылку?

P.S.Наилучшее решение - это реализация на jquery, но можно на "чистом" javascript.

Shasoft 15.04.2009 23:07

Судя по всему придется писать самому. В связи с этим вопрос:
Насколько сильно нагружает систему добавления обработчика события?

Поясняю: У меня выводится на странице 1000 товаров. Каждый товар - это набор div-ов. Для каждого товара может вызываться три popupMenu, т.е. по три обработчика на 1 товар = 3000 дополнительных обработчиков.

При этом я могу сделать вызов не через определение обработчиков, а через ссылку вида href="javascript:showPopup()"

Так вот будет ли выигрыш в производительности/используемой памяти если использовать вызов через ссылку, а не через определения обработчика?
Как я понимаю, при определении обработчика javascript внутри хранит эти обработчики и отслуживает состояния для их вызова. А при ссылочном вызове такого хранения не происходит.

ZoNT 15.04.2009 23:21

А слабо повесить всего один обработчик на document и смотреть текущий элемент в e.srcElement||e.target ?

Kolyaj 15.04.2009 23:22

Да без разницы. Если у вас на странице 1000 товаров, то пользоваться такой страницей невозможно, следовательно пользователь сразу уйдет с нее, и следовательно грузить систему ничто не будет.

Shasoft 16.04.2009 09:12

ZoNT,
Об этом не подумал. Спасибо за подсказку.

Kolyaj,
У меня иерархический каталог, подгружаемый по AJAX, выводимый в виде дерева. Т.е. на странице может быть 1000 товаров, но при этом отображаться будет гораздо меньше, чтобы было удобнее просматривать.
Так что пользователь - не уйдет.


Часовой пояс GMT +3, время: 00:37.