Description:
The onSelect
property of the MenuItem
object is an event handler for the event of when the menu item is selected.
In other words, when the end user opens the options menu and selects a menu
item either from the top-level menu list or from a submenu list, the system
will fire an event and a widget can catch the event by providing a callback
function.
The callback function is passed with an argument, which is an integer identifier identifying the menu item that was just selected.
It is possible to assign an individual callback function for each menu
item so that the id
argument can be ignored.
Syntax:
MenuItem.onSelect = function(Integer id) { }
or
MenuItem.onSelect = onMenuItemSelected;
function onMenuItemSelected(id) { // ... }
Remarks:
Submenu item's callback function must be assigned to the onSelect
property
after the parent menu item is appended to the main menu pane.
For more general information on constructing an options menu, see Using softkeys.
Example code:
Creating a menu:
window.onload = createMenu();
// function to create a menu function createMenu() { // Create a Menu Object var optionsMenu = window.menu; // Set a callback function for Menu optionsMenu.onShow = function() { alert('Event Trigger: optionsMenu.onShow'); } // Create two Menu items var m1 = new MenuItem('Beverages', 2001); var m2 = new MenuItem('Snacks', 2002); // Assign a callback function for the menu items m1.onSelect = menuEventHandler; m2.onSelect = menuEventHandler; // Append two Menu items to Menu optionsMenu.append(m1); optionsMenu.append(m2); // Create two more Menu items for Sub-Menu var m11 = new MenuItem('Coca Cola', 3001); var m12 = new MenuItem('Pepsi', 3002); // Append two Sub Menu Items to Menu 'Beverages' // get Menu Item reference by ID optionsMenu.getMenuItemById(2001).append(m11); // get Menu Item reference by Name optionsMenu.getMenuItemByName('Beverages').append(m12); // Assign a callback function for the submenu items m11.onSelect = submenuEventHandler; m12.onSelect = submenuEventHandler; }
Implement menu event handler:
function menuEventHandler(id) { switch (id) { case 2001: break; case 2002: // do something break; } }