繁体   English   中英

更改Firefox扩展叠加中的Javascript

[英]Change Javascript in a Firefox extension overlay

我为Firefox编写了带有扩展程序的扩展程序。

当我单击主体按钮时,该扩展entconnect.entImmediat加载entconnect.entImmediat ,但是当我单击“ Changez vos identifiants”时,该扩展entconnect.openLogs加载entconnect.openLogsentconnect.entImmediat 当我单击“ Changez vos identifiants”时,如何只加载entconnect.openLogs? 这是我的叠加层的代码:

<overlay id="entconnect-overlay" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<script src="chrome://entconnect/content/entconnect.js"/>
<toolbarpalette id="BrowserToolbarPalette">
    <toolbarbutton class="toolbarbutton-1 chromeclass-toolbar-additional" id="entconnect-addbar" label="Allez sur votre ENT" type="menu-button" oncommand="entconnect.entImmediat();">
        <menupopup>
            <menuitem label="Changez vos identifiants" oncommand="entconnect.openLogs();"/>
        </menupopup>                             
    </toolbarbutton>
</toolbarpalette>
</overlay>

命令事件冒泡,这意味着它将由DOM层次结构中更远的事件处理程序接收。 如果已经处理过该事件,则可以防止该事件进一步冒泡

oncommand="entconnect.openLogs();event.stopPropagation();"

或者您可以查看事件目标

oncommand="if (event.target.localName != 'menuitem') entconnect.entImmediat();"

或者,您可以仅处理仅在当前元素处触发的事件:

oncommand="if (event.eventPhase == event.AT_TARGET) entconnect.entImmediat();"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM