--- title: menus.onClicked slug: Mozilla/Add-ons/WebExtensions/API/menus/onClicked translation_of: Mozilla/Add-ons/WebExtensions/API/menus/onClicked ---
{{AddonSidebar()}}

メニューアイテムがクリックされたときに発火します。

他のブラウザとの互換性のためにFirefoxはこのイベントを名前空間contextMenusmenuを経由して利用可能にしています。

書式

browser.menus.onClicked.addListener(listener)
browser.menus.onClicked.removeListener(listener)
browser.menus.onClicked.hasListener(listener)

イベントは3つの関数を持ちます:

addListener(callback)
このイベントのリスナーを追加します。
removeListener(listener)
リスニングを停止します。引数listenerは削除するリスナーです。
hasListener(listener)
listenerが登録されているかどうかを調べます。trueが返ればリスニング中、そうでなければfalseが返ります。

addListenerの書式

パラメータ

callback

イベントが起こったときに呼ばれる関数です。以下の引数を渡されます:

info
{{WebExtAPIRef('menus.OnClickData')}}. Information about the item clicked and the context where the click happened.
tab
{{WebExtAPIRef('tabs.Tab')}}. The details of the tab where the click took place. If the click did not take place in or on a tab, this parameter will be missing.

ブラウザ互換性

{{Compat("webextensions.api.menus.onClicked", 10)}}

この例はメニューアイテムのクリックをリッスンし、アイテムのIDとタブのIDをログします:

browser.menus.create({
  id: "click-me",
  title: "Click me!",
  contexts: ["all"]
});

browser.menus.onClicked.addListener((info, tab) => {
  console.log("Item " + info.menuItemId + " clicked " +
              "in tab " + tab.id);
});

{{WebExtExamples}}

Acknowledgements

This API is based on Chromium's chrome.contextMenus API. This documentation is derived from context_menus.json in the Chromium code.