Example 9: Handling Click Events : Menu 2 « GUI Components « JavaScript DHTML

Example 9: Handling Click Events


        <meta http-equiv="content-type" content="text/html; charset=utf-8">
        <title>Example 9: Handling Click Events</title>

        <!-- Standard reset and fonts -->
        <link rel="stylesheet" type="text/css" href="./build/reset/reset.css">
        <link rel="stylesheet" type="text/css" href="./build/fonts/fonts.css">

        <!-- Logger CSS -->
        <link rel="stylesheet" type="text/css" href="./build/logger/assets/logger.css">

        <!-- CSS for Menu -->
        <link rel="stylesheet" type="text/css" href="./build/menu/assets/menu.css">
        <!-- Page-specific styles -->
        <style type="text/css">

            body { margin:.5em; }

            #logs {


            .example9 {



        <!-- Namespace source file -->
        <script type="text/javascript" src="./build/yahoo/yahoo.js"></script>

        <!-- Dependency source files -->
        <script type="text/javascript" src="./build/event/event.js"></script>
        <script type="text/javascript" src="./build/dom/dom.js"></script>
        <!-- Logger source file -->
        <script type="text/javascript" src="./build/logger/logger.js"></script>
        <!-- Container source file -->
        <script type="text/javascript" src="./build/container/container_core.js"></script>

        <!-- Menu source file -->
        <script type="text/javascript" src="./build/menu/menu.js"></script>

        <!-- Page-specific script -->
        <script type="text/javascript">

            YAHOO.example.onWindowLoad = function(p_oEvent) {

                // "click" event handler for a MenuItem instance

                function onMenuItemClick(p_sType, p_aArguments, p_oValue) {

                            "index: " + this.index + 
                            ", text: " + this.cfg.getProperty("text") + 
                            ", value:" + p_oValue

                var oMenu = new YAHOO.widget.Menu("mymenu");

                var oItem1 = 
                        oMenu.addItem(new YAHOO.widget.MenuItem("Item One"));


                var oItem2 = 
                        oMenu.addItem(new YAHOO.widget.MenuItem("Item Two"));

                     Register a "click" event handler for the first item, 
                     passing a string arguemnt ("foo") to the event handler

                oItem2.clickEvent.subscribe(onMenuItemClick, "foo");

                var oItem2 = 
                        oMenu.addItem(new YAHOO.widget.MenuItem("Item Three"));

                     Register a "click" event handler for the third item and
                     passing and array as an argument to the event handler
                oItem2.clickEvent.subscribe(onMenuItemClick, ["foo", "bar"]);


                var oLogs = document.createElement("div");
                oLogs.id = "logs";

                var oLogReader = new YAHOO.widget.LogReader("logs");


            YAHOO.util.Event.addListener(window, "load", YAHOO.example.onWindowLoad);


        <h1>Example 9: Handling Click Events</h1>
        <p>This example demonstrates how to register a "click" event handler for a MenuItem instance.  All of the events for YUI Menu are instances of <a href="http://developer.yahoo.com/yui/event/#customevent">YAHOO.util.CustomEvent</a>.  To register a listener for an event, use the event's "subscribe" method passing a pointer to your handler as the first argument.  You can pass an argument to your event handler(s) as an additional second argument to the "subscribe" method.</p>


yui.zip( 3,714 k)

Related examples in the same category

1.Popup Menu
2.AtJsMenu Demo
3.Example 1: Basic Menu From Existing Markup
4.Example 2: Basic Menu From Pure JavaScript
5.Example 3: Grouped MenuItem Instances From Existing Markup
6.Example 4: Grouped MenuItem Instances Using Pure JavaScript
7.Example 5: Grouped MenuItem Instances With Titles From Existing Markup
8.Example 6: Grouped MenuItem Instances With Titles Using Pure JavaScript
9.Example 7: Multi-tiered Menu From Existing Markup
10.Example 8: Multi-tiered Menu From Pure JavaScript
11.Example 10: Listening For DOM-Related Events
12.Example 11: MenuItem Configuration Properties
13.Example 12: Setting Configuration Properties At Runtime
14.Example 13: Multi-tiered Menu with Progressive Rendering of Submenus
15.Website Left Nav Example (with submenus built from JavaScript) 1
16.Website Left Nav Example (with submenus built from markup) 2
17.OS-Style Programs Menu Example
18.Website Top Nav (with submenus built from JavaScript) 3
19.Website Top Nav (with submenus built from markup) 4
20.Drop down menu and sub menu
21.Vertical menu and image menu
22.Emulate XP start menu
25.menu for applications