Страницы: 1
В оверлее добавляю свой пункт к меню
<popup id="contentAreaContextMenu"> <menuitem id="MyID" insertafter="context-copylink" label="MyLabel" oncommand="MyFunc();"/> </popup>
меню добавляется, но его ВСЕГДА видно, а мне нужно ТОЛЬКО когда на ЛИНК пользователь нажал.
Причем если не по ссылке меню выскакивает, то добавленный пункт на самом верху оказывается
Отсутствует
Пункту меню надо добавить атрибут hidden, надо поставить обработчик onpopupshowing на contentAreaContextMenu, в котором изменять соответственно атрибут hidden, скорее всего, проверяя глобальную переменную gContextMenu, свойство onLink. Какие там поля можно посмотреть в browser.js.
Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!
Отсутствует
Насчет глобальных переменных не в курсе, но ведь можно же просто «синхронизировать» hidden добавляемого пункта с каким-нибудь стандартным (Сохранить ссылку как / Отправить ссылку ...).
contentAreaContextMenu показывается =>
document.getElementById('MyID').hidden = document.getElementById('context-sendlink').hidden;
Но вариант Антона «правильнее»...
Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела
Отсутствует
Не получаеться почемуто
xul файл, пункт успешно прячеться
<popup id="contentAreaContextMenu"> <menuitem id="MyID" hidden="true" insertafter="context-copylink" label="MyLabel" oncommand="MyFunc();"/> </popup>
js файл, но показаться не хочет, хотябы безусловно
document.getElementById("contentAreaContextMenu").addEventListener("onpopupshowing", todowhenpopup, true); function todowhenpopup(event) { document.getElementById("MyID").hidden = false; //document.getElementById("MyID").hidden = document.getElementById('context-copylink').hidden; } function MyFunc(){...
вместо onpopupshowing пробывал onpopupshown и popupshowing результат тот же, точнее никакого - не появляется пунктик
Может не там Event Listener добавляю?
Добавлено Пнд 25 Июн 2007 21:11:13 :
заработала
window.addEventListener("load", initOverlay, false); function initOverlay() { var menu = document.getElementById("contentAreaContextMenu"); menu.addEventListener("popupshowing", contextPopupShowing, false); } function contextPopupShowing() { document.getElementById("MyID").hidden = !gContextMenu.onLink; }
Отсутствует
Страницы: 1