Mega Code Archive

 
Categories / JavaScript DHTML / GUI Components
 

Example 9

<!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>                          yui.zip( 3,714 k)