Example 10 : Menu 2 : GUI Components JAVASCRIPT DHTML TUTORIALS


JAVASCRIPT DHTML TUTORIALS » GUI Components » Menu 2 »

 

Example 10




<!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 10: Listening For DOM-Related 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; }

            p em {
            
                text-decoration:underline;
            
            }

            #logs {

                position:absolute;
                bottom:0;
                right:0;
            
            }

            .example10 {

                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">

            // "load" event handler for the window

            YAHOO.example.onWindowLoad = function(p_oEvent) {

                // Generic event handler for the Menu instance's DOM-related events
                
                function onMenuEvent(p_sType, p_aArguments) {
                
                    var oDOMEvent = p_aArguments[0];
    
                    YAHOO.log(
                        (
                        "Id: " this.id + ", " +
                        "Custom Event Type: " + p_sType + ", " +                  
                        "DOM Event Type: " + oDOMEvent.type
                        ),
                        "info",
                        "example10"
                    );
                }
    
    
                /*
                    Generic event handler for each MenuItem instance's 
                    DOM-related events
                */
    
                function onMenuItemEvent(p_sType, p_aArguments) {
    
                    var oDOMEvent = p_aArguments[0];
    
                    YAHOO.log(
                        (
                        "Index: " this.index + ", " +
                        "Group Index: " this.groupIndex + ", " +
                        "Custom Event Type: " + p_sType + ", " +                  
                        "DOM Event Type: " + oDOMEvent.type
                        ),
                        "info",
                        "example10"
                    );
                    
                }


                // Create a menu

                var oMenu = new YAHOO.widget.Menu("basicmenu"),

                    // Create the MenuItem instances and add them to the menu

                    aMenuItemData = [
                
                        "MenuItem 0",
                        "MenuItem 1",
                        "MenuItem 2",
                        "MenuItem 3",
                        "MenuItem 4"

                    ],

                    nMenuItems = aMenuItemData.length,

                    oMenuItem;
                


                for(var i=0; i<nMenuItems; i++) {

                    oMenuItem = oMenu.addItem(aMenuItemData[i]);

                    oMenuItem.mouseOverEvent.subscribe(onMenuItemEvent);
                    oMenuItem.mouseOutEvent.subscribe(onMenuItemEvent);
                    oMenuItem.mouseDownEvent.subscribe(onMenuItemEvent);
                    oMenuItem.mouseUpEvent.subscribe(onMenuItemEvent);
                    oMenuItem.clickEvent.subscribe(onMenuItemEvent);
                    oMenuItem.keyDownEvent.subscribe(onMenuItemEvent);
                    oMenuItem.keyUpEvent.subscribe(onMenuItemEvent);
                    oMenuItem.keyPressEvent.subscribe(onMenuItemEvent);

                }

                oMenu.render(document.body);
    
                oMenu.show();


                // Focus the first MenuItem instance

                oMenu.getItem(0).focus();
                

                // Disable the third MenuItem instance

                oMenu.getItem(2).cfg.setProperty("disabled"true);


                // Subscribe to the menu's DOM-related events

                oMenu.mouseOverEvent.subscribe(onMenuEvent);
                oMenu.mouseOutEvent.subscribe(onMenuEvent);
                oMenu.mouseDownEvent.subscribe(onMenuEvent);
                oMenu.mouseUpEvent.subscribe(onMenuEvent);
                oMenu.clickEvent.subscribe(onMenuEvent);
                oMenu.keyDownEvent.subscribe(onMenuEvent);
                oMenu.keyUpEvent.subscribe(onMenuEvent);
                oMenu.keyPressEvent.subscribe(onMenuEvent);


                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 10: Listening For DOM-Related Events</h1>
        <p>This example demonstrates how to listen for DOM-related events.  Interaction with the Menu will result in event information being output to the console.  <em>Please note</em>: Disabled MenuItem instances do not fire DOM events.  This is demonstrated with the MenuItem named "MenuItem 2."</p>

    </body>
</html>
           
       

Download : Download nav_yui.zip nav_yui.zip


-

Leave a Comment / Note


 
Verification is used to prevent unwanted posts (spam). .

Follow Navioo On Twitter

JAVASCRIPT DHTML TUTORIALS

 Navioo GUI Components
» Menu 2