src/cm/media/js/lib/yui/yui_3.0.0b1/examples/event/event-ce.html
author raph
Mon, 23 Nov 2009 15:14:29 +0100
changeset 0 40c8f766c9b8
permissions -rw-r--r--
import from internal svn r 4007
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     1
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     2
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     3
<html>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     4
<head>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     5
	<title>YUI Library Examples: Event: Using Custom Events</title>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     6
    <meta http-equiv="content-type" content="text/html; charset=utf-8">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     7
    	<link rel="stylesheet" type="text/css" href="../../assets/yui.css" >
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     8
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     9
<style>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    10
    /*Supplemental CSS for the YUI distribution*/
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    11
    #custom-doc { width: 95%; min-width: 950px; }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    12
    #pagetitle {background-image: url(../../assets/bg_hd.gif);}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    13
/*    #pagetitle h1 {background-image: url(../../assets/title_h_bg.gif);}*/
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    14
</style>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    15
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    16
<link rel="stylesheet" type="text/css" href="../../assets/dpSyntaxHighlighter.css">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    17
<link type="text/css" rel="stylesheet" href="../../build/cssfonts/fonts-min.css" />
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    18
<script type="text/javascript" src="../../build/yui/yui-min.js"></script>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    19
<style type="text/css">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    20
	#fire {margin:1em;}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    21
	#log {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    22
		border:1px dotted #999999; background-color:#FFFFFF;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    23
	}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    24
	#log li {padding:5px;}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    25
	#log li highlight {color:#993300;}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    26
</style>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    27
</head>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    28
<body id="yahoo-com" class=" yui-skin-sam">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    29
<div id="custom-doc" class="yui-t2">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    30
<div id="hd">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    31
	<div id="ygunav">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    32
		<p>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    33
            <em>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    34
                <a href="http://developer.yahoo.com/yui/3/">YUI 3.x Home</a> <i> - </i>	
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    35
            </em>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    36
		</p>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    37
		<form action="http://search.yahoo.com/search" id="sitesearchform">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    38
            <input name="vs" type="hidden" value="developer.yahoo.com">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    39
            <input name="vs" type="hidden" value="yuiblog.com">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    40
		    <div id="sitesearch">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    41
		    	<label for="searchinput">Site Search (YDN &amp; YUIBlog): </label>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    42
			    <input type="text" id="searchinput" name="p">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    43
			    <input type="submit" value="Search" id="searchsubmit" class="ygbt">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    44
		    </div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    45
		</form>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    46
    </div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    47
	<div id="ygma"><a href="../../"><img src="../../assets/logo.gif"  border="0" width="200" height="93"></a></div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    48
	<div id="pagetitle"><h1>YUI Library Examples: Event: Using Custom Events</h1></div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    49
</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    50
<div id="bd">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    51
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    52
	<div id="bar-note"><p><strong>Note:</strong> This is YUI 3.x. Looking for <a href="http://developer.yahoo.com/yui/">YUI 2.x</a>?</p></div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    53
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    54
	<div id="yui-main">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    55
		<div class="yui-b">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    56
		  <div class="yui-ge">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    57
			  <div class="yui-u first example" id="main">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    58
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    59
	<h2>Event: Using Custom Events</h2>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    60
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    61
	<div id="example" class="promo">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    62
	<p>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    63
	<p>The Custom Event framework is one of the principle communication mechanisms
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    64
in YUI.  An object can be augmented with <code>EventTarget</code>, enabling it
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    65
to be both a host and a target for Custom Events.  Custom Events fire from
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    66
their host and optionally bubble up to one or more targets.  This allows you to
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    67
make the interesting moments of your applications broadly available within a
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    68
module, within a set of modules, or throughout a complex interface populated
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    69
with rich elements.</p>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    70
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    71
<p>In this example, a simple Custom Event is illustrated:
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    72
<code>testEvent</code>.  This Custom Event is hosted on a Publisher object and
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    73
bubbles up to a BubbleTarget object.</p>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    74
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    75
<p><img src="assets/ce-example.gif" alt="An
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    76
illustration of the relationship between the Custom Event, its host, and its
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    77
Bubble Target."></p>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    78
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    79
<p>Custom Events, like DOM events, can be stopped
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    80
(<code>stopPropagation</code>) and their default behavior can be suppressed
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    81
(<code>preventDefault</code>).</p>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    82
	</p>	
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    83
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    84
	<div class="module example-container ">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    85
			<div class="hd exampleHd">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    86
			<p class="newWindowButton yui-skin-sam">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    87
                <a href="event-ce_clean.html" target="_blank">View example in new window.</a>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    88
            </p>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    89
		</div>		<div id="example-canvas" class="bd">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    90
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    91
		
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    92
	<!--BEGIN SOURCE CODE FOR EXAMPLE =============================== -->
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    93
	
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    94
	<button id="fire" value="Fire">Fire publisher:testEvent</button> <br />
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    95
<input type="checkbox" id="stopPropagation"> <label for="stopPropagation">Stop Propagation (testEvent won't bubble to the BubbleTarget.)</label><br />
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    96
<input type="checkbox" id="preventDefault"> <label for="preventDefault">Prevent Default (testEvent's defaultFn won't fire.)</label>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    97
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    98
<ol id="log">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    99
	<li>Custom Event log messages will appear here.</li>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   100
</ol>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   101
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   102
<script language="javascript">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   103
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   104
//Create a YUI instance:
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   105
YUI({base:"../../build/", timeout: 10000}).use("node",
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   106
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   107
function(Y) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   108
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   109
    //Shortcut for our logging div:
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   110
    var logger = Y.Node.get("#log");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   111
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   112
    //Our BubbleTarget object is an object to which our Custom Event
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   113
    //will be allowed to bubble.  It needs itself to be an EventTarget,
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   114
    //so we'll use augment to make it an EventTarget:
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   115
    var BubbleTarget = function() {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   116
        Y.log("Host constructor executed.", "info", "example");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   117
    }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   118
    //Augment BubbleTarget to make it an EventTarget:
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   119
    Y.augment(BubbleTarget, Y.EventTarget);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   120
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   121
    //Create an instance of BubbleTarget:
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   122
    var bubbleTarget = new BubbleTarget();
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   123
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   124
    //Now we'll subscribe to the "publisher:testEvent" -- note
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   125
    //that we can do this even before this event is published:
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   126
    bubbleTarget.subscribe("publisher:testEvent", function(e) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   127
        Y.log("publisher:testEvent fired on the BubbleTarget object.", "info", "example");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   128
    });
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   129
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   130
    //Now we'll create the constructor for the Publisher, which 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   131
    //is the direct host of our Custom Event.  It will also be an
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   132
    //EventTarget, so we'll extend it as well:
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   133
    var Publisher = function(bubbleTarget) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   134
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   135
        //We'll specify now that Custom Events hosted by Publisher
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   136
        //should bubble to the bubbleTarget instance passed into the
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   137
        //the Publisher's constructor:
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   138
        this.addTarget(bubbleTarget);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   139
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   140
        //Here we publish the Custom Event.  Note that it's not
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   141
        //necessary to publish the event at all if you don't have
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   142
        //options you wish to configure -- firing the event or 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   143
        //subscribing to it will create it on the fly if necessary:
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   144
        this.publish("publisher:testEvent",
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   145
            {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   146
                emitFacade: true,
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   147
                //the defaultFn is what you want to have happen
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   148
                //by default when no subscriber calls preventDefault:
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   149
                defaultFn: function() {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   150
                    Y.log("defaultFn: publisher:testEvent's defaultFn executed.", "info", "example");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   151
                },
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   152
                //You can prevent the default function from firing by
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   153
                //calling preventDefault from a listener (if the Custom
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   154
                //Event's preventable option is set to true, as it is by
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   155
                //default).  If the default is prevented, the preventedFn
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   156
                //is called, allowing you to respond if necessary.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   157
                preventedFn: function() {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   158
                    Y.log("preventedFn: A subscriber to publisher:testEvent called preventDefault().", "info", "example");			
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   159
                },
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   160
                //The stoppedFn is called if a subscriber calls stopPropagation or
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   161
                //stopImmediatePropagation:
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   162
                stoppedFn: function() {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   163
                    Y.log("stoppedFn: A subscriber to publisher:testEvent called stopPropagation().", "info", "example");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   164
                }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   165
            }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   166
        );
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   167
        Y.log("Publisher constructor executed.");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   168
    }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   169
    //Augment Publisher to make it an EventTarget:
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   170
    Y.augment(Publisher, Y.EventTarget);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   171
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   172
    //Create a Publisher instance:
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   173
    var p = new Publisher(bubbleTarget);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   174
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   175
    //We've already subscribed to the event on the bubbleTarget, but
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   176
    //we can also subscribe to it here on the Publisher instance.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   177
    //We'll see the event fire here before it bubbles up to the 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   178
    //bubbleTarget:
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   179
    p.on("publisher:testEvent", function(e) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   180
        Y.log("publisher:testEvent subscriber fired on the publisher object.", "info", "example");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   181
        if(Y.Node.get("#stopPropagation").get("checked")) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   182
            //we will stopPropagation on the Custom Event, preventing
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   183
            //it from bubbling to the bubbleTarget:
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   184
            e.stopPropagation();
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   185
        }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   186
        
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   187
        if(Y.Node.get("#preventDefault").get("checked")) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   188
            //we will preventDefault on the Custom Event, preventing
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   189
            //the testEvent's defaultFn from firing:
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   190
            e.preventDefault();
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   191
        }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   192
    });
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   193
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   194
    //We can tie our testEvent to an interface gesture -- the click of a
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   195
    //button, for example.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   196
    Y.on("click", function(e) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   197
        //clear out the logger:
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   198
        logger.set("innerHTML", "");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   199
        p.fire("publisher:testEvent");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   200
    }, "#fire");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   201
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   202
    //write out log messages to the page:
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   203
    Y.on("yui:log", function(e) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   204
        var s = logger.get("innerHTML");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   205
        logger.set("innerHTML", s + "<li>" + e.msg + "</li>");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   206
    });
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   207
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   208
});
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   209
</script>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   210
	
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   211
	<!--END SOURCE CODE FOR EXAMPLE =============================== -->
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   212
	
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   213
		
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   214
		</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   215
	</div>			
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   216
	</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   217
		
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   218
	<h2>Source Code</h2>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   219
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   220
<p>The full source code for this example follows.  Read through the comments and code to get an understanding of how you can make use of Custom Events in your own application development.</p>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   221
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   222
<textarea name="code" class="JScript" cols="60" rows="1">//Create a YUI instance:
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   223
YUI().use('node', function(Y) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   224
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   225
    //Shortcut for our logging div:
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   226
    var logger = Y.Node.get("#log");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   227
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   228
    //Our BubbleTarget object is an object to which our Custom Event
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   229
    //will be allowed to bubble.  It needs itself to be an EventTarget,
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   230
    //so we'll use augment to make it an EventTarget:
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   231
    var BubbleTarget = function() {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   232
        Y.log("Host constructor executed.", "info", "example");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   233
    }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   234
    //Augment BubbleTarget to make it an EventTarget:
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   235
    Y.augment(BubbleTarget, Y.EventTarget);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   236
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   237
    //Create an instance of BubbleTarget:
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   238
    var bubbleTarget = new BubbleTarget();
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   239
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   240
    //Now we'll subscribe to the "publisher:testEvent" -- note
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   241
    //that we can do this even before this event is published:
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   242
    bubbleTarget.on("publisher:testEvent", function(e) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   243
        Y.log("publisher:testEvent fired on the BubbleTarget object.", "info", "example");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   244
    });
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   245
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   246
    //Now we'll create the constructor for the Publisher, which 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   247
    //is the direct host of our Custom Event.  It will also be an
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   248
    //EventTarget, so we'll extend it as well:
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   249
    var Publisher = function(bubbleTarget) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   250
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   251
        //We'll specify now that Custom Events hosted by Publisher
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   252
        //should bubble to the bubbleTarget instance passed into the
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   253
        //the Publisher's constructor:
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   254
        this.addTarget(bubbleTarget);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   255
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   256
        //Here we publish the Custom Event.  Note that it's not
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   257
        //necessary to publish the event at all if you don't have
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   258
        //options you wish to configure -- firing the event or 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   259
        //subscribing to it will create it on the fly if necessary:
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   260
        this.publish("publisher:testEvent",
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   261
            {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   262
                emitFacade: true,
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   263
                //the defaultFn is what you want to have happen
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   264
                //by default when no subscriber calls preventDefault:
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   265
                defaultFn: function() {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   266
                    Y.log("defaultFn: publisher:testEvent's defaultFn executed.", "info", "example");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   267
                },
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   268
                //You can prevent the default function from firing by
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   269
                //calling preventDefault from a listener (if the Custom
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   270
                //Event's preventable option is set to true, as it is by
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   271
                //default).  If the default is prevented, the preventedFn
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   272
                //is called, allowing you to respond if necessary.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   273
                preventedFn: function() {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   274
                    Y.log("preventedFn: A subscriber to publisher:testEvent called preventDefault().", "info", "example");			
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   275
                },
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   276
                //The stoppedFn is called if a subscriber calls stopPropagation or
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   277
                //stopImmediatePropagation:
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   278
                stoppedFn: function() {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   279
                    Y.log("stoppedFn: A subscriber to publisher:testEvent called stopPropagation().", "info", "example");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   280
                }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   281
            }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   282
        );
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   283
        Y.log("Publisher constructor executed.");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   284
    }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   285
    //Augment Publisher to make it an EventTarget:
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   286
    Y.augment(Publisher, Y.EventTarget);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   287
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   288
    //Create a Publisher instance:
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   289
    var p = new Publisher(bubbleTarget);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   290
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   291
    //We've already subscribed to the event on the bubbleTarget, but
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   292
    //we can also subscribe to it here on the Publisher instance.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   293
    //We'll see the event fire here before it bubbles up to the 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   294
    //bubbleTarget:
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   295
    p.on("publisher:testEvent", function(e) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   296
        Y.log("publisher:testEvent subscriber fired on the publisher object.", "info", "example");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   297
        if(Y.Node.get("#stopPropagation").get("checked")) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   298
            //we will stopPropagation on the Custom Event, preventing
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   299
            //it from bubbling to the bubbleTarget:
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   300
            e.stopPropagation();
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   301
        }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   302
        
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   303
        if(Y.Node.get("#preventDefault").get("checked")) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   304
            //we will preventDefault on the Custom Event, preventing
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   305
            //the testEvent's defaultFn from firing:
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   306
            e.preventDefault();
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   307
        }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   308
    });
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   309
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   310
    //We can tie our testEvent to an interface gesture -- the click of a
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   311
    //button, for example.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   312
    Y.on("click", function(e) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   313
        //clear out the logger:
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   314
        logger.set("innerHTML", "");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   315
        p.fire("publisher:testEvent");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   316
    }, "#fire");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   317
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   318
    //write out log messages to the page:
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   319
    Y.on("yui:log", function(e) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   320
        var s = logger.get("innerHTML");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   321
        logger.set("innerHTML", s + "<li>" + e.msg + "</li>");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   322
    });
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   323
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   324
});</textarea>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   325
				</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   326
				<div class="yui-u sidebar">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   327
					
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   328
				
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   329
					<div id="examples" class="mod box4">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   330
                        <div class="hd">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   331
						<h4>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   332
    Event Examples:</h4>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   333
                        </div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   334
						<div class="bd">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   335
							<ul>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   336
								<li><a href='../event/event-simple.html'>Simple DOM Events</a></li><li><a href='../event/event-timing.html'>Using 'available', 'contentready', and 'domready'</a></li><li class='selected'><a href='../event/event-ce.html'>Using Custom Events</a></li><li><a href='../event/event-focus-blur.html'>Using the 'focus' and 'blur' custom events</a></li><li><a href='../yui/yui-augment.html'>Compose Classes of Objects with <code>augment</code> (included with examples for The YUI Global Object)</a></li><li><a href='../node-focusmanager/node-focusmanager-3.html'>Accessible Menu Button (included with examples for Focus Manager Node Plugin)</a></li><li><a href='../node-focusmanager/node-focusmanager-2.html'>Accessible TabView (included with examples for Focus Manager Node Plugin)</a></li><li><a href='../attribute/attribute-event.html'>Change Events (included with examples for Attribute)</a></li><li><a href='../widget/widget-extend.html'>Extending the base widget class (included with examples for Widget)</a></li><li><a href='../attribute/attribute-getset.html'>Getters, Setters and Validators (included with examples for Attribute)</a></li><li><a href='../dd/photo-browser.html'>Photo Browser (included with examples for Drag &amp; Drop)</a></li>							</ul>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   337
						</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   338
					</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   339
					
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   340
					<div class="mod box4">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   341
                        <div class="hd">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   342
						<h4>More Event Resources:</h4>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   343
                        </div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   344
                        <div class="bd">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   345
						<ul>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   346
							<!-- <li><a href="http://developer.yahoo.com/yui/event/">User's Guide</a> (external)</li> -->
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   347
						<li><a href="../../api/module_event.html">API Documentation</a></li>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   348
</ul>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   349
                        </div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   350
					</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   351
			  </div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   352
		</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   353
		
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   354
		</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   355
	</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   356
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   357
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   358
<div class="yui-b toc3" id="tocWrapper">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   359
<!-- TABLE OF CONTENTS -->
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   360
<div id="toc">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   361
	
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   362
<ul>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   363
<li class="sect first">YUI 3.x Project</li><li class="item"><a title="The Yahoo! User Interface (YUI) Library, 3.x Branch, " href="http://developer.yahoo.com/yui/3/">YUI 3 Web Site (external)</a></li><li class="item"><a title="Examples of every YUI utility and control in action" href="../../examples/">YUI 3 Examples</a></li><li class="item"><a title="Instantly searchable API documentation for the entire YUI library." href="../../api/">YUI 3 API Docs</a></li><li class="item"><a title="The YUI Library can be downloaded from SourceForge" href="http://sourceforge.net/projects/yui/">YUI 3 on Sourceforge (external)</a></li><li class="item"><a title="YUI is free and open, offered under a BSD license." href="http://developer.yahoo.com/yui/3/license.html">YUI License (external)</a></li><li class="sect">YUI 3 Core - Examples</li><li class="item"><a title="YUI (Global Prerequisite) - Functional Examples" href="../../examples/yui/index.html">YUI (Global Prerequisite)</a></li><li class="selected "><a title="Event - Functional Examples" href="../../examples/event/index.html">Event</a></li><li class="item"><a title="Node - Functional Examples" href="../../examples/node/index.html">Node</a></li><li class="sect">YUI 3 Component Infrastructure - Examples</li><li class="item"><a title="Attribute - Functional Examples" href="../../examples/attribute/index.html">Attribute</a></li><li class="item"><a title="Plugin - Functional Examples" href="../../examples/plugin/index.html">Plugin</a></li><li class="item"><a title="Widget - Functional Examples" href="../../examples/widget/index.html">Widget</a></li><li class="sect">YUI 3 Utilities - Examples</li><li class="item"><a title="Animation - Functional Examples" href="../../examples/anim/index.html">Animation</a></li><li class="item"><a title="Cache - Functional Examples" href="../../examples/cache/index.html">Cache</a></li><li class="item"><a title="Cookie - Functional Examples" href="../../examples/cookie/index.html">Cookie</a></li><li class="item"><a title="DataSchema - Functional Examples" href="../../examples/dataschema/index.html">DataSchema</a></li><li class="item"><a title="DataSource - Functional Examples" href="../../examples/datasource/index.html">DataSource</a></li><li class="item"><a title="DataType - Functional Examples" href="../../examples/datatype/index.html">DataType</a></li><li class="item"><a title="Drag &amp; Drop - Functional Examples" href="../../examples/dd/index.html">Drag &amp; Drop</a></li><li class="item"><a title="Get - Functional Examples" href="../../examples/get/index.html">Get</a></li><li class="item"><a title="History - Functional Examples" href="../../examples/history/index.html">History</a></li><li class="item"><a title="ImageLoader - Functional Examples" href="../../examples/imageloader/index.html">ImageLoader</a></li><li class="item"><a title="IO - Functional Examples" href="../../examples/io/index.html">IO</a></li><li class="item"><a title="JSON (JavaScript Object Notation) - Functional Examples" href="../../examples/json/index.html">JSON</a></li><li class="item"><a title="Queue - Functional Examples" href="../../examples/queue/index.html">Queue</a></li><li class="item"><a title="Stylesheet - Functional Examples" href="../../examples/stylesheet/index.html">Stylesheet</a></li><li class="sect">YUI 3 Widgets - Examples</li><li class="item"><a title="Overlay - Functional Examples" href="../../examples/overlay/index.html">Overlay</a></li><li class="item"><a title="Slider - Functional Examples" href="../../examples/slider/index.html">Slider</a></li><li class="sect">YUI 3 Node Plugins - Examples</li><li class="item"><a title="FocusManager Node Plugin - Functional Examples" href="../../examples/node-focusmanager/index.html">FocusManager Node Plugin</a></li><li class="item"><a title="MenuNav Node Plugin - Functional Examples" href="../../examples/node-menunav/index.html">MenuNav Node Plugin</a></li><li class="sect">YUI 3 CSS - Examples</li><li class="item"><a title="YUI CSS Reset - Functional Examples" href="../../examples/cssreset/index.html">CSS Reset</a></li><li class="item"><a title="YUI Fonts - Functional Examples" href="../../examples/cssfonts/index.html">CSS Fonts</a></li><li class="item"><a title="YUI Base - Functional Examples" href="../../examples/cssbase/index.html">CSS Base</a></li><li class="sect">YUI 3 Developer Tools - Examples</li><li class="item"><a title="Console - Functional Examples" href="../../examples/console/index.html">Console</a></li><li class="item"><a title="Profiler - Functional Examples" href="../../examples/profiler/index.html">Profiler</a></li><li class="item"><a title="Test - Functional Examples" href="../../examples/test/index.html">Test</a></li><li class="sect">The YUI Community</li><li class="item"><a title="The Yahoo! User Interface Blog" href="http://yuiblog.com">YUI Blog (external)</a></li><li class="item"><a title="The Yahoo! Group YDN-JavaScript hosts the YUI community forum" href="http://tech.groups.yahoo.com/group/ydn-javascript/">YUI Forum (external)</a></li><li class="item"><a title="The Yahoo! Group yui3 is dedicated to the 3.x branch of the Yahoo! User Interface (YUI) Library." href="http://tech.groups.yahoo.com/group/yui3/">YUI 3 Forum (external)</a></li><li class="item"><a title="YUI is used by Yahoo! and by hundreds of other sites, including many you know and love." href="/yui/poweredby/">YUI Sightings (external)</a></li><li class="item"><a title="Videos and podcasts from the YUI Team and from the Yahoo! frontend engineering community." href="http://developer.yahoo.com/yui/theater/">YUI Theater (external)</a></li><li class="sect">YUI Articles on the YUI Website</li><li class="item"><a title="Answers to Frequently Asked Questions about the YUI Library" href="http://developer.yahoo.com/yui/articles/faq/">YUI FAQ (external)</a></li><li class="item"><a title="Yahoo!'s philosophy of Graded Browser Support" href="http://developer.yahoo.com/yui/articles/gbs/">Graded Browser Support (external)</a></li><li class="item"><a title="Reporting Bugs and Making Feature Requests for YUI Components" href="http://developer.yahoo.com/yui/articles/reportingbugs/">Bug Reports/Feature Requests (external)</a></li><li class="item"><a title="Serve YUI source files from Yahoo! -- free, fast, and simple" href="http://developer.yahoo.com/yui/3/articles/hosting/">Serving YUI Files from Yahoo! (external)</a></li></ul>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   364
</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   365
</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   366
	</div><!--closes bd-->
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   367
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   368
	<div id="ft">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   369
        <p class="first">Copyright &copy; 2009 Yahoo! Inc. All rights reserved.</p>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   370
        <p><a href="http://privacy.yahoo.com/privacy/us/devel/index.html">Privacy Policy</a> - 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   371
            <a href="http://docs.yahoo.com/info/terms/">Terms of Service</a> - 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   372
            <a href="http://docs.yahoo.com/info/copyright/copyright.html">Copyright Policy</a> - 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   373
            <a href="http://careers.yahoo.com/">Job Openings</a></p>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   374
	</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   375
</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   376
<script src="../../assets/dpSyntaxHighlighter.js"></script>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   377
<script language="javascript"> 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   378
dp.SyntaxHighlighter.HighlightAll('code'); 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   379
</script>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   380
</body>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   381
</html>