<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Dylan Butler » San Diego Freelance Web Development and Consultation &#187; javascript</title>
	<atom:link href="http://www.dylanbutler.com/tag/javascript/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.dylanbutler.com</link>
	<description>Just another WordPress weblog</description>
	<lastBuildDate>Mon, 09 Aug 2010 16:31:37 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Lunascript makes building web 2.0 applications much easier</title>
		<link>http://www.dylanbutler.com/2010/02/lunascript-makes-building-web-2-0-applications-much-easier/</link>
		<comments>http://www.dylanbutler.com/2010/02/lunascript-makes-building-web-2-0-applications-much-easier/#comments</comments>
		<pubDate>Tue, 02 Feb 2010 19:40:36 +0000</pubDate>
		<dc:creator>Dylan</dc:creator>
				<category><![CDATA[Cool]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[asana]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[lunascript]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.dylanbutler.com/?p=196</guid>
		<description><![CDATA[Rumored to have gotten their idea while at a bar, Dustin Moskovitz (Facebook co-founder and former CTO) and former-Googler/Facebooker Justin Rosenstein have undertaken a revolutionary project aiming to eliminate 90% of repetitive code facing most web developers today. Modern web &#8230; <a href="http://www.dylanbutler.com/2010/02/lunascript-makes-building-web-2-0-applications-much-easier/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Rumored to have gotten their idea while at a bar, Dustin Moskovitz (Facebook co-founder and former CTO) and former-Googler/Facebooker Justin Rosenstein have undertaken a revolutionary project aiming to eliminate 90% of repetitive code facing most web developers today.</p>
<p>Modern web developers often feel like they repeat a lot of code. When we come up with a unique idea, usually that amounts to being only around 10% of our code, the rest is needlessly complicated and tedious. Enter <a href="http://asana.com/" target="_blank">Lunascript</a> &#8211; &#8220;an in-house programming language for writing rich web applications in about 10% of the time and code you can today.&#8221;</p>
<blockquote><p>At Asana, we&#8217;re building a Collaborative Information Manager that we believe will make it radically easier for groups of people to get work done. Writing a complex web application, we experienced pain all too familiar to authors of &#8220;Web 2.0&#8243; software (and interactive software in general): there were all kinds of extremely difficult programming tasks that we were doing over and over again for every feature we wanted to write.</p></blockquote>
<p>I am definitely going to try this out. The language seems very straightforward and could be very helpful in speeding up the development phase.<br />
<a href="http://asana.com/" target="_blank">Read More</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.dylanbutler.com/2010/02/lunascript-makes-building-web-2-0-applications-much-easier/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flash on iPhone Now Avaliable!</title>
		<link>http://www.dylanbutler.com/2010/01/flash-on-iphone-now-avaliable/</link>
		<comments>http://www.dylanbutler.com/2010/01/flash-on-iphone-now-avaliable/#comments</comments>
		<pubDate>Fri, 15 Jan 2010 17:52:34 +0000</pubDate>
		<dc:creator>Dylan</dc:creator>
				<category><![CDATA[Cool]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://www.dylanbutler.com/?p=187</guid>
		<description><![CDATA[Well, sort of. Tobias Schnieder has developed Gordon, a Flash runtime written entirely in JavaScript and HTML5. This means Flash movies will work in any modern browser (including iPhone Safari), and there is no need for the Flash plug-in to &#8230; <a href="http://www.dylanbutler.com/2010/01/flash-on-iphone-now-avaliable/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://twitpic.com/xxmi2" target="_blank"><img src="http://www.wired.com/images_blogs/gadgetlab/2010/01/img_0113.png" alt="Flash on iPhone Safari" /></a><br />
Well, sort of. Tobias Schnieder has developed <a href="http://github.com/tobeytailor/gordon/" target="_blank">Gordon</a>, a Flash runtime written entirely in JavaScript and HTML5. This means Flash movies will work in any modern browser (including <a href="http://www.wired.com/gadgetlab/2010/01/hack-enables-flash-on-iphone/" target="_blank">iPhone Safari</a>), and there is no need for the Flash plug-in to be installed! It only requires a small snippet of code to be placed on a page.</p>
<p>At this point, most Flash movies are probably still too CPU-intensive for iPhone. That is the only reason why iPhone doesn&#8217;t already support Flash in the first place. Despite that, Gordon is a nice resource to have absent anything else. There are no docs for Gordon at this point, but Gordon is getting widespread Internet attention and seems to be getting rapidly updated with new <a href="http://paulirish.com/work/gordon/demos/" target="_blank">demos</a>.</p>
<p><a href="http://www.ajaxian.com/archives/gordon-flash-runtime-implemented-in-javascript" target="_blank">Read More</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.dylanbutler.com/2010/01/flash-on-iphone-now-avaliable/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Simple drop-downs using YAHOO.util.Dom.isAncestor</title>
		<link>http://www.dylanbutler.com/2009/05/simple-drop-downs-using-yahooutildomisancestor/</link>
		<comments>http://www.dylanbutler.com/2009/05/simple-drop-downs-using-yahooutildomisancestor/#comments</comments>
		<pubDate>Sat, 02 May 2009 17:03:01 +0000</pubDate>
		<dc:creator>Dylan</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[drop down]]></category>
		<category><![CDATA[isancestor]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[yahoo]]></category>
		<category><![CDATA[yui]]></category>

		<guid isPermaLink="false">http://www.dylanbutler.com/?p=109</guid>
		<description><![CDATA[The Yahoo! User Interface Library (YUI) has a bunch of very nifty little methods to make complex tasks easier. One that immediately stood out to me was isAncestor, as I can attest first-hand to the cross-browser troubles when trying to &#8230; <a href="http://www.dylanbutler.com/2009/05/simple-drop-downs-using-yahooutildomisancestor/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>The Yahoo! User Interface Library (YUI) has a bunch of very nifty little methods to make complex tasks easier. One that immediately stood out to me was isAncestor, as I can attest first-hand to the cross-browser troubles when trying to detect ancestry in the DOM. Although a very basic concept, most drop-down code often becomes bloated or restrictive. I&#8217;m not advocating the use of JavaScript drop-downs over a CSS method, but there are some added benefits of using JS to achieve this effect:</p>
<ol>
<li>Clean markup, no need for conditional comments</li>
<li>The ability to animate show and hide events</li>
<li>Added styling opportunities, won&#8217;t break so long as the nested list structure remains in tact</li>
</ol>
<p>Below is a simple example of how to use YUI&#8217;s isAncestor to create flyout menus with HTML and CSS.</p>
<pre class="prettyprint">(function() {
	function mouseover(e) {
		var menu = this.getElementsByTagName('ul')[0];
		YAHOO.util.Dom.setStyle(menu, 'display', 'block');
	};

	function mouseout(e) {
		if (!YAHOO.util.Dom.isAncestor(this, e.relatedTarget) || e.relatedTarget == document.getElementsByTagName('html')[0]) {
			var menu = this.getElementsByTagName('ul')[0];
			YAHOO.util.Dom.setStyle(menu, 'display', 'none');
		}
	};
	YAHOO.util.Event.on(YAHOO.util.Dom.get('nav').getElementsByTagName('li'), 'mouseover', mouseover);
	YAHOO.util.Event.on(YAHOO.util.Dom.get('nav').getElementsByTagName('li'), 'mouseout', mouseout);
})();</pre>
<p><a href="/classwork/random/yui_dropdowns.htm">See Example »</a></p>
<p>If you need something more complex, see the <a href="/2008/08/yui-generic-showhide-code/">YUI MenuCreator</a> page.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dylanbutler.com/2009/05/simple-drop-downs-using-yahooutildomisancestor/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>An annoying doubleclick ad + firefox bug</title>
		<link>http://www.dylanbutler.com/2008/10/dear-doubleclick-fix-your-ad-code/</link>
		<comments>http://www.dylanbutler.com/2008/10/dear-doubleclick-fix-your-ad-code/#comments</comments>
		<pubDate>Thu, 16 Oct 2008 03:41:12 +0000</pubDate>
		<dc:creator>Dylan</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[ads]]></category>
		<category><![CDATA[bug]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://www.dylanbutler.com/?p=70</guid>
		<description><![CDATA[I hope I&#8217;m not the only one who consistently experiences this annoying behavior when browsing specific web sites. I have been able to reproduce the issue both at home and at work, so I doubt I&#8217;m the only one. Update &#8230; <a href="http://www.dylanbutler.com/2008/10/dear-doubleclick-fix-your-ad-code/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I hope I&#8217;m not the only one who consistently experiences this annoying behavior when browsing specific web sites. I have been able to reproduce the issue both at home and at work, so I doubt I&#8217;m the only one.</p>
<p><strong>Update</strong><br />
Kev (below) has identified that this is caused by a conflict with firefox. Sounds logical. Switching to version 1.2.0b4 or disabling firefox reportedly fixes the problem.</p>
<p><strong>The Issue:</strong><br />
When browsing a site with one of <a href="http://doubleclick.com" target="_blank">Doubleclick</a>&#8216;s ads on it, sometimes the ad will take over the whole page (likely due to malformed HTML in the iframe or some type of javascript error), effectively rendering the page useless. The back button doesn&#8217;t work because it just keeps taking over the page when you press &#8216;Back&#8217;. I usually end up just closing the tab and forgetting about it. That being said, I imagine other annoyed users are doing the same. This behavior is occurring across multiple very large sites (list below). It makes me wonder if these publishers are aware of potential dollars they are wasting by compromising the user experience in such a big way.</p>
<p>Over the past month, I have taken <a href="#screenshots">screenshots</a> of this issue across various sites. <del datetime="2008-11-14T01:29:58+00:00">It could be a conflict with a FireFox plugin (although I only use Web Developer Plugin and Firebug), but that&#8217;s unlikely</del>. This issue seems to be caused by firebug. This issue has been recorded in firefox 2 and 3. By looking at the status bar text which reads something like &#8216;Transferring data from m0.2mdn.net&#8217; or &#8216;Read m1.2mdn.net&#8217;, and by a quick glance at the source of each of these broken pages, I can quickly conclude that the problem lies somewhere within Doubleclick&#8217;s ad code.</p>
<p><img id="screenshots" name="screenshots" src="http://www.dylanbutler.com/wp-content/uploads/2008/10/wtf.gif" alt="Screenshots of doubleclick errors" title="Sites with doubleclick errors" width="540" height="616" class="aligncenter size-medium wp-image-71" /><br />
<small>yelp, YouTube, Gizmodo, and LinkedIn have all been captured with this problem.</small></p>
<p>I also wonder if Doubleclick is aware of this issue. They deal with very large advertisers and I can&#8217;t imagine something like this going unnoticed for too long.</p>
<p>Has anyone else seen this bug while browsing popular web sites?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dylanbutler.com/2008/10/dear-doubleclick-fix-your-ad-code/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>YUI MenuCreator : generic show/hide code</title>
		<link>http://www.dylanbutler.com/2008/08/yui-generic-showhide-code/</link>
		<comments>http://www.dylanbutler.com/2008/08/yui-generic-showhide-code/#comments</comments>
		<pubDate>Thu, 28 Aug 2008 01:03:25 +0000</pubDate>
		<dc:creator>Dylan</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[menus]]></category>
		<category><![CDATA[yui]]></category>

		<guid isPermaLink="false">http://www.dylanbutler.com/?p=66</guid>
		<description><![CDATA[At work I frequently encounter designs that utilize a mouseover show/mouseout hide menu that usually consists of a trigger (often an A tag, or LI element) and a menu (often a DIV, or a UL). Due to the browser inconsistencies &#8230; <a href="http://www.dylanbutler.com/2008/08/yui-generic-showhide-code/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>At <a href="http://pint.com/" target="_blank">work</a> I frequently encounter designs that utilize a mouseover show/mouseout hide menu that usually consists of a trigger (often an A tag, or LI element) and a menu (often a DIV, or a UL). Due to the browser inconsistencies between event handling and mouseout/mouseover DOM detection, it can be cumbersome to create a menu that is quick to implement (thus cost effective) and most importantly, stable. It also has support for a delay threshold, and the ability to animate show and hide events.</p>
<p><a href="/wp-content/uploads/2008/08/dropdowntest_example1.htm" target="_blank"><img class="alignnone size-full wp-image-67" title="menu" src="http://www.dylanbutler.com/wp-content/uploads/2008/08/menu.gif" alt="" width="530" height="283" /></a><br />
<span id="more-66"></span><br />
Althought I use javascript-free solutions for the majority of drop-downs I make, some menus simply warrant javascript and there&#8217;s no way around it. Perhaps the content inside the menu is interactive, or if javascript support has previously been established, or maybe <strong>the DOM structure requires two oddly placed elements to interact with each other like a normal drop-down would.</strong> Given that some advanced menus require javascript (sorry <a href="http://cssplay.co.uk" target="_blank">Stu Nichols</a>), this method uses javascript. All debates and javascript taboos aside, the code below is capable of creating a consistently stable show/hide relationship between a trigger element and a menu element.</p>
<p>My idea of a menu (it could be a &#8216;drop-down&#8217; or a &#8216;flyout&#8217; menu) usually consists of a trigger (the element that onmouseover reveals the menu) and a menu (the element to be shown). The code below is capable of creating menus out of nested &#8220;semantic&#8221; lists (UL, OL, DL) OR from an array of trigger/menu ID pairs depending on what you pass in as the constructor <code>menu</code> array.</p>
<p>This code requires YAHOO! User Interface Library <em>yahoo-dom-event.js</em>.</p>
<p>This article assumes you already have an HTML/CSS menu in mind. This article does not teach how to write CSS. This code simply provides an outlet for controlling show/hide functionality with javascript. The MenuCreator code basically creates a show/hide relationship between a trigger and a menu element. It&#8217;s purpose is to eliminate the nuances of mouse event handling when creating simple show/hide menus.</p>
<p><strong>Examples:</strong></p>
<ol>
<li><a href="/wp-content/uploads/2008/08/dropdowntest_example1.htm" target="_blank">Example 1 (div menu AND a nested list menu)</a></li>
<li><a href="/wp-content/uploads/2008/08/dropdowntest_example2.htm" target="_blank">Example 2 (complex example of a div menu)</a></li>
<li><a href="http://www.viewsonic.com/" target="_blank">Example 3 (used on a live site)</a></li>
</ol>
<p>The usage is simple:</p>
<ol>
<li>Once you have your CSS and HTML setup to look the way you want, add the MenuCreator code to your page:
<pre class="prettyprint">var MenuCreator = function(obj) {
	for (var oMenu in obj.menus) {
		(function(index) {
			var trigger = (obj.menus[index].trigger) ? YAHOO.util.Dom.get(obj.menus[index].trigger) : YAHOO.util.Dom.get(obj.menus[index]);
			var menu = (obj.menus[index].id) ? YAHOO.util.Dom.get(obj.menus[index].id) : YAHOO.util.Dom.get(obj.menus[index]).lastChild;

			if (!trigger || !menu || !obj.show || !obj.hide) return;

			function enterLink(e) {
				obj.show(trigger,menu);
				YAHOO.util.Event.stopEvent(e);
			}

			function exitLink(e) {
				if (!e) var e = window.event;
				if (e.stopPropagation) e.stopPropagation();
				else e.cancelBubble = true;
				var relTarg = e.relatedTarget || e.toElement;
				if (relTarg != menu) {
					obj.hide(trigger, menu);
					return false;
				}
				YAHOO.util.Event.stopEvent(e);
			}

			function exitField(e) {
				if (!e) var e = window.event;
				var tg = (window.event) ? e.srcElement : e.target;
				if (e.stopPropagation) e.stopPropagation();
				else e.cancelBubble = true;
				if (tg.nodeName != 'DIV' &amp;&amp; tg.nodeName != 'UL') return;
				var reltg = (e.relatedTarget) ? e.relatedTarget : e.toElement;
				while (reltg != tg &amp;&amp; reltg.nodeName != 'BODY' &amp;&amp; reltg.nodeName != 'HTML') {
					if (reltg == this) return;
					reltg = reltg.parentNode
				}
				if (reltg == tg) return;
				obj.hide(trigger, menu);
				YAHOO.util.Event.stopEvent(e);
			}

			YAHOO.util.Event.on(trigger, 'mouseover', enterLink);
			YAHOO.util.Event.on(trigger, 'mouseout', exitLink);
			YAHOO.util.Event.on(menu, 'mouseout', exitField);
		}(oMenu));
	}
};</pre>
</li>
<li>Create the menu by passing in an array of menu/trigger ID pairs and a show function and a hide function.
<pre class="prettyprint">var divMenu = new MenuCreator({
	menus: [{
		id: 'box1',
		trigger: 'tab1' },
	{
		id: 'box2',
		trigger: 'tab2'},
	{
		id: 'box3',
		trigger: 'tab3'
	}],
	show:function(trigger,menu) {
		YAHOO.util.Dom.addClass(trigger, 'hover');
		menu.style.display = "block";
	},
	hide:function(trigger,menu) {
		YAHOO.util.Dom.removeClass(trigger, 'hover');
		menu.style.display = "none";
	}
});</pre>
</li>
</ol>
<p><strong>Requires</strong><br />
<em>yahoo-dom-event.js</em><br />
Include this file by placing this above the MenuCreator code.</p>
<p><strong>FAQ</strong><br />
<em>Why provide a custom show/hide function?</em><br />
Often the specific things that need to happen on a successful show/hide differ from menu to menu, so abstracting them from the MenuCreator seemed more logical.</p>
<pre>&lt;script type="text/javascript" src="http://yui.yahooapis.com/2.5.2/build/yahoo-dom-event/yahoo-dom-event.js"&gt;&lt;/script&gt;</pre>
<p><em>Why is a bulky menu creator solution like this (after yahoo-dom-event.js) useful?</em><br />
Most programmers prefer to use one JavaScript library (if any) for a web site. This code is most useful for a web site that is already using YUI (like all <a href="http://pint.com" target="_blank">Pint</a> web sites, where YUI is included by default).</p>
<p><em>Why not use something like <a href="http://www.alistapart.com/articles/dropdowns" target="_blank">suckerfish</a> drop downs?</em><br />
Suckerfish drop downs only support nested lists with links in them. Suckerfish code is not a robust solution for complex HTML menus. MenuCreator offers a convenient way to deal with multiple javascript hover interfaces.</p>
<p><strong>Assumptions</strong></p>
<ol>
<li>Assumes the menus are hidden by default (using display:none, visibility:hidden, or however else you wish).</li>
<li>Assumes the show/hide events are mouseover/mouseout events.</li>
</ol>
<p><strong>Special Thanks</strong><br />
Peter Paul-Koch (quirksmode) for his <a href="http://www.quirksmode.org/js/events_mouse.html" target="_blank">mouse event</a> DOM solutions.</p>
<p>Diana Chan who wrote <a href="http://ev3.net" target="_blank">the prototype</a> for this entire snippet.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dylanbutler.com/2008/08/yui-generic-showhide-code/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>YUI CustomEvent subscriptions</title>
		<link>http://www.dylanbutler.com/2008/08/yui-customevent-subscriptions/</link>
		<comments>http://www.dylanbutler.com/2008/08/yui-customevent-subscriptions/#comments</comments>
		<pubDate>Sun, 10 Aug 2008 08:28:54 +0000</pubDate>
		<dc:creator>Dylan</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[yui]]></category>

		<guid isPermaLink="false">http://www.dylanbutler.com/?p=42</guid>
		<description><![CDATA[Recently at Ajaxian there was a post describing Custom Events and how they could be used to better structure an event-driven application by &#8216;subscribing&#8217; or &#8216;binding&#8217; certain actions to an event. At Pint we use YUI as our main library, &#8230; <a href="http://www.dylanbutler.com/2008/08/yui-customevent-subscriptions/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Recently at Ajaxian there was <a href="http://ajaxian.com/archives/enjoying-the-observer-pattern-with-custom-events" target="_blank">a post describing Custom Events</a> and how they could be used to better structure an event-driven application by &#8216;subscribing&#8217; or &#8216;binding&#8217; certain actions to an event. At <a title="San Diego Web Design" href="http://www.pint.com/" target="_blank">Pint</a> we use <a title="YUI" href="http://developer.yahoo.com/yui/" target="_blank">YUI</a> as our main library, so I&#8217;ve ported <a href="http://google-ajax-examples.googlecode.com/svn/trunk/customevents/index.html" target="_blank">the author&#8217;s example</a> into <a title="YUI - Custom Events" href="http://dylanbutler.com/classwork/random/yui_customevents.htm" target="_blank">a version that uses YUI</a>.</p>
<p>Here is the code:</p>
<pre class="prettyprint">YAHOO.util.Event.onDOMReady(function() {
    document.body.event1 = new YAHOO.util.CustomEvent();
    YAHOO.util.Event.on('colorchange', 'change', function(e) {
        if (this.checked) document.body.event1.subscribe(changeColor);
        else document.body.event1.unsubscribe(changeColor);
    });
    YAHOO.util.Event.on('contentchange', 'change', function(e) {
        if (this.checked) document.body.event1.subscribe(changeContent);
        else document.body.event1.unsubscribe(changeContent);
        }
    });
    YAHOO.util.Event.on(document.getElementById('leftchoices').childNodes, 'click', function(e) {
        document.body.event1.fire(e);
    });
});</pre>
<p><a href="http://dylanbutler.com/classwork/random/yui_customevents.htm" target="_blank">See example »</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.dylanbutler.com/2008/08/yui-customevent-subscriptions/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
