| 
     
  
 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" 
        "http://www.w3.org/TR/html4/strict.dtd"> 
<html> 
    <head> 
        <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 { 
 
                position:absolute; 
                bottom:0; 
                right:0; 
             
            } 
 
            .example9 { 
 
                background-color:#9c9; 
             
            } 
 
        </style> 
 
        <!-- 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) { 
 
                    YAHOO.log( 
                        ( 
                            "index: " + this.index +  
                            ", text: " + this.cfg.getProperty("text") +  
                            ", value:" + p_oValue 
                        ), 
                        "info", 
                        "example9" 
                    ); 
                 
                    this.parent.show(); 
                 
                } 
 
 
                var oMenu = new YAHOO.widget.Menu("mymenu"); 
 
                var oItem1 =  
                        oMenu.addItem(new YAHOO.widget.MenuItem("Item One")); 
 
                oItem1.clickEvent.subscribe(onMenuItemClick); 
 
 
                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"]); 
 
 
                oMenu.render(document.body); 
     
                oMenu.show(); 
 
                var oLogs = document.createElement("div"); 
                oLogs.id = "logs"; 
                 
                document.body.appendChild(oLogs); 
 
                var oLogReader = new YAHOO.widget.LogReader("logs"); 
 
            } 
 
 
            YAHOO.util.Event.addListener(window, "load", YAHOO.example.onWindowLoad); 
             
        </script> 
 
    </head> 
    <body> 
 
        <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> 
 
    </body> 
</html> 
            
          
   
    
    |