Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
mohamedkhallouq
GitHub Repository: mohamedkhallouq/content
Path: blob/main/files/en-us/mozilla/add-ons/webextensions/api/menus/onclicked/index.md
6581 views
---
title: menus.onClicked slug: Mozilla/Add-ons/WebExtensions/API/menus/onClicked page-type: webextension-api-event tags: - API - Add-ons - Event - Extensions - Non-standard - Reference - WebExtensions - contextMenus - onClicked browser-compat: webextensions.api.menus.onClicked
---

{{AddonSidebar()}}

Fired when a menu item is clicked.

For compatibility with other browsers, Firefox makes this event available via the contextMenus namespace as well as the menus namespace.

Syntax

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

Events have three functions:

  • addListener(callback)

    • : Adds a listener to this event.

  • removeListener(listener)

    • : Stop listening to this event. The listener argument is the listener to remove.

  • hasListener(listener)

    • : Check whether listener is registered for this event. Returns true if it is listening, false otherwise.

addListener syntax

Parameters

  • callback

    • : Function that will be called when this event occurs. The function will be passed the following arguments:

      • 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.

Browser compatibility

{{Compat}}

Examples

This example listens for clicks on a menu item, then log the item's ID and the tab 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}}

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