Страницы: 1
Вот этот код очень интересно себя ведёт:
XULExplorer:
<?xml version="1.0"?> <?xml-stylesheet href="chrome://global/skin/" type="text/css"?> <window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> <toolbar id="zzz"> <toolbaritem class="toolbaritem-1 chromeclass-toolbar-additional" id="my-toolbaritem" align="center" pack="end" flex="0" contextmenu="_child" > <toolbarbutton id="my-button" class="toolbarbutton-1 chromeclass-toolbar-additional" flex="0" label="button" hidden="false" tooltiptext="menu.name;" oncommand="alert('btnClick');" type="menu-button"> <menupopup id="dropdown-menu"> <menu label="menu" onclick="alert('menuClick');event.preventDefault();event.stopPropagation();"> <menupopup> <menuitem label="save" oncommand="alert('saveClick');event.preventDefault();event.stopPropagation();"/> </menupopup> </menu> </menupopup> </toolbarbutton> </toolbaritem> </toolbar> </window>
Если кликнуть на "save" получим два алерта:
Заменим oncommand
<menuitem label="save" oncommand="alert('saveClick');event.preventDefault();event.stopPropagation();"/>
на onclick
<menuitem label="save" onclick="alert('saveClick');event.preventDefault();event.stopPropagation();"/>
Если кликнуть на "save" получим два алерта:
Как решить эту проблему чтобы алерты не дублировались?
:::: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1) Gecko/20061010 Firefox/2.0
Отсутствует
я бы добавил условие
в обработчик клика кнопки (my-toolbaritem)
Отсутствует
<?xml version="1.0"?> <?xml-stylesheet href="chrome://global/skin/" type="text/css"?> <window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> <toolbar id="zzz"> <toolbaritem class="toolbaritem-1 chromeclass-toolbar-additional" id="my-toolbaritem" align="center" pack="end" flex="0" contextmenu="_child" > <toolbarbutton id="my-button" class="toolbarbutton-1 chromeclass-toolbar-additional" flex="0" label="button" hidden="false" tooltiptext="menu.name;" oncommand="if(this==event.target){alert(this.label)};" type="menu-button"> <menupopup id="dropdown-menu"> <menu label="menu" onclick="if(this==event.target){alert(this.label)};"> <menupopup> <menuitem label="save" onclick="alert(this.label);"/> </menupopup> </menu> </menupopup> </toolbarbutton> </toolbaritem> </toolbar> </window>
Жестоко, согласен.
Отсутствует
Страницы: 1