1

オーバーレイ付きの Firefox 用の拡張機能を作成しました。

主なボタンをクリックすると、拡張機能が読み込まentconnect.entImmediatれますが、「Changez vos identifiants」をクリックすると、拡張機能がentconnect.openLogsANDで読み込まれますentconnect.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>
4

1 に答える 1

0

コマンドイベントはバブルアップします。これは、DOM階層のさらに上位のイベントハンドラーによって受信されることを意味します。すでに処理している場合は、イベントがさらに上にバブリングするのを防ぐことができます。

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

または、イベントターゲットを確認できます。

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

または、現在の要素でトリガーされたイベントのみを処理することもできます。

oncommand="if (event.eventPhase == event.AT_TARGET) entconnect.entImmediat();"
于 2012-09-15T22:21:36.947 に答える