<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments for Hacking at 0300</title>
	<atom:link href="http://bililite.com/blog/comments/feed/" rel="self" type="application/rss+xml" />
	<link>http://bililite.com/blog</link>
	<description>Thoughts on web design and programming from a very occasional volunteer webmaster</description>
	<lastBuildDate>Sun, 28 Feb 2010 22:17:06 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>Comment on Extending jQuery UI Widgets by Danny</title>
		<link>http://bililite.com/blog/extending-jquery-ui-widgets/comment-page-1/#comment-1311</link>
		<dc:creator>Danny</dc:creator>
		<pubDate>Sun, 28 Feb 2010 22:17:06 +0000</pubDate>
		<guid isPermaLink="false">http://bililite.com/blog/?page_id=305#comment-1311</guid>
		<description>@Valentino:
I think you actually meant this comment for the &lt;a href=&quot;/blog/understanding-jquery-ui-widgets-a-tutorial/&quot; rel=&quot;nofollow&quot;&gt;Widget Tutorial&lt;/a&gt;. Notwithstanding that, there&#039;s a subtlety here about how javascript handles prototypal inheritance: &lt;code&gt;level&lt;/code&gt; is a variable in the &lt;em&gt;prototype&lt;/em&gt;, so it is &lt;em&gt;not&lt;/em&gt; copied into each instance. &lt;code&gt;this.level&lt;/code&gt; refers to the prototype&#039;s &lt;code&gt;level&lt;/code&gt;, which is shared with all instances. the general rule: when I refer to &lt;code&gt;this.foo&lt;/code&gt;, Javascript searched the object for a property named &lt;code&gt;foo&lt;/code&gt;, then the object&#039;s prototype, then the prototype&#039;s prototype, etc. If nothing is found, a new property is created in the individual object.
--Danny</description>
		<content:encoded><![CDATA[<p>@Valentino:<br />
I think you actually meant this comment for the <a href="/blog/understanding-jquery-ui-widgets-a-tutorial/" rel="nofollow">Widget Tutorial</a>. Notwithstanding that, there&#8217;s a subtlety here about how javascript handles prototypal inheritance: <code>level</code> is a variable in the <em>prototype</em>, so it is <em>not</em> copied into each instance. <code>this.level</code> refers to the prototype&#8217;s <code>level</code>, which is shared with all instances. the general rule: when I refer to <code>this.foo</code>, Javascript searched the object for a property named <code>foo</code>, then the object&#8217;s prototype, then the prototype&#8217;s prototype, etc. If nothing is found, a new property is created in the individual object.<br />
&#8211;Danny</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Extending jQuery UI Widgets by Valentino</title>
		<link>http://bililite.com/blog/extending-jquery-ui-widgets/comment-page-1/#comment-1309</link>
		<dc:creator>Valentino</dc:creator>
		<pubDate>Sun, 28 Feb 2010 10:21:22 +0000</pubDate>
		<guid isPermaLink="false">http://bililite.com/blog/?page_id=305#comment-1309</guid>
		<description>Great article. I found it really helpfull.

Just one note.

I think that this part is incorrect: &quot;The astute reader will have noticed that level is a class variable; the same variable is used for every green3 object. This is clearly not what we want; each instance should have its own copy&quot;

It looks to me that jQuery UI create an instance of our prototype for each object. So you coul safely use this.level, and it will be a different variable for each object.

I noticed this because some jQuery UI widgets just store variables using this.name_variable.
For instance, the accordion widget save the headers elements as &quot;this.headers&quot;

Thanks anyway for this great article, it&#039;s so usefull that there should be an official copy on the jQuery UI doc

_Valentino</description>
		<content:encoded><![CDATA[<p>Great article. I found it really helpfull.</p>
<p>Just one note.</p>
<p>I think that this part is incorrect: &#8220;The astute reader will have noticed that level is a class variable; the same variable is used for every green3 object. This is clearly not what we want; each instance should have its own copy&#8221;</p>
<p>It looks to me that jQuery UI create an instance of our prototype for each object. So you coul safely use this.level, and it will be a different variable for each object.</p>
<p>I noticed this because some jQuery UI widgets just store variables using this.name_variable.<br />
For instance, the accordion widget save the headers elements as &#8220;this.headers&#8221;</p>
<p>Thanks anyway for this great article, it&#8217;s so usefull that there should be an official copy on the jQuery UI doc</p>
<p>_Valentino</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Understanding jQuery UI widgets: A tutorial by Виджеты jQuery UI: учебное пособие</title>
		<link>http://bililite.com/blog/understanding-jquery-ui-widgets-a-tutorial/comment-page-1/#comment-1299</link>
		<dc:creator>Виджеты jQuery UI: учебное пособие</dc:creator>
		<pubDate>Tue, 23 Feb 2010 11:15:19 +0000</pubDate>
		<guid isPermaLink="false">http://bililite.com/blog/?page_id=286#comment-1299</guid>
		<description>[...] Нестрогий перевод статьи Understanding jQuery UI widgets: A tutorial. [...]</description>
		<content:encoded><![CDATA[<p>[...] Нестрогий перевод статьи Understanding jQuery UI widgets: A tutorial. [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Understanding jQuery UI widgets: A tutorial by rob</title>
		<link>http://bililite.com/blog/understanding-jquery-ui-widgets-a-tutorial/comment-page-1/#comment-1295</link>
		<dc:creator>rob</dc:creator>
		<pubDate>Sun, 21 Feb 2010 20:41:43 +0000</pubDate>
		<guid isPermaLink="false">http://bililite.com/blog/?page_id=286#comment-1295</guid>
		<description>great, thanks..that finally somebody understands the f*kn pain of the plugindevelopment!

br
rob</description>
		<content:encoded><![CDATA[<p>great, thanks..that finally somebody understands the f*kn pain of the plugindevelopment!</p>
<p>br<br />
rob</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Extending jQuery UI Widgets by Danny</title>
		<link>http://bililite.com/blog/extending-jquery-ui-widgets/comment-page-1/#comment-1289</link>
		<dc:creator>Danny</dc:creator>
		<pubDate>Fri, 19 Feb 2010 18:17:54 +0000</pubDate>
		<guid isPermaLink="false">http://bililite.com/blog/?page_id=305#comment-1289</guid>
		<description>@andrew:
Though I haven&#039;t looked at it directly, I suspect we&#039;ve got a problem that exists in many of the overloaded jQuery functions: &lt;code&gt;.text(&#039;foo&#039;)&lt;/code&gt; sets the text and returns a jQuery object while &lt;code&gt;.text()&lt;/code&gt; returns the text. &lt;code&gt;.text(undefined)&lt;/code&gt; is probably interpreted as &lt;code&gt;.text()&lt;/code&gt; and doing the wrong thing.
That&#039;s my guess.
--Danny</description>
		<content:encoded><![CDATA[<p>@andrew:<br />
Though I haven&#8217;t looked at it directly, I suspect we&#8217;ve got a problem that exists in many of the overloaded jQuery functions: <code>.text('foo')</code> sets the text and returns a jQuery object while <code>.text()</code> returns the text. <code>.text(undefined)</code> is probably interpreted as <code>.text()</code> and doing the wrong thing.<br />
That&#8217;s my guess.<br />
&#8211;Danny</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Updating timepickr by Brian</title>
		<link>http://bililite.com/blog/2009/07/09/updating-timepickr/comment-page-1/#comment-1286</link>
		<dc:creator>Brian</dc:creator>
		<pubDate>Thu, 18 Feb 2010 19:17:07 +0000</pubDate>
		<guid isPermaLink="false">http://bililite.com/blog/?p=1009#comment-1286</guid>
		<description>@Danny

I added an explicit trigger change to the hide function - seems to be working


great widget!!!
Brian</description>
		<content:encoded><![CDATA[<p>@Danny</p>
<p>I added an explicit trigger change to the hide function &#8211; seems to be working</p>
<p>great widget!!!<br />
Brian</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Extending jQuery UI Widgets by andrew</title>
		<link>http://bililite.com/blog/extending-jquery-ui-widgets/comment-page-1/#comment-1283</link>
		<dc:creator>andrew</dc:creator>
		<pubDate>Wed, 17 Feb 2010 07:47:23 +0000</pubDate>
		<guid isPermaLink="false">http://bililite.com/blog/?page_id=305#comment-1283</guid>
		<description>@inktri: @danny and for anyone trying to use this to extend jquery ui.dialog i&#039;ve found that you&#039;ll need to fix the .text(undefined) being thrown by the line mentioned in your comment.

for what it&#039;s worth, it&#039;s line 122 in v1.7.2 of ui.dialog.js
from 

.text(options.closeText)
to
.text((options.closeText &#124;&#124; &#039;&#039;)), 

maybe you can explain why exactly extension fails on this internally??? 

i understand that .text(undefined) is returning a null therefore .appendTo() doesn&#039;t exist and error, but what&#039;s going on here under the hood?

Thanks for the great article, i&#039;ve learned tons tonight.  With this small fix i&#039;m able to extend the ui.dialog also</description>
		<content:encoded><![CDATA[<p>@inktri: @danny and for anyone trying to use this to extend jquery ui.dialog i&#8217;ve found that you&#8217;ll need to fix the .text(undefined) being thrown by the line mentioned in your comment.</p>
<p>for what it&#8217;s worth, it&#8217;s line 122 in v1.7.2 of ui.dialog.js<br />
from </p>
<p>.text(options.closeText)<br />
to<br />
.text((options.closeText || &#8221;)), </p>
<p>maybe you can explain why exactly extension fails on this internally??? </p>
<p>i understand that .text(undefined) is returning a null therefore .appendTo() doesn&#8217;t exist and error, but what&#8217;s going on here under the hood?</p>
<p>Thanks for the great article, i&#8217;ve learned tons tonight.  With this small fix i&#8217;m able to extend the ui.dialog also</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Updating timepickr by Brian</title>
		<link>http://bililite.com/blog/2009/07/09/updating-timepickr/comment-page-1/#comment-1282</link>
		<dc:creator>Brian</dc:creator>
		<pubDate>Wed, 17 Feb 2010 06:57:26 +0000</pubDate>
		<guid isPermaLink="false">http://bililite.com/blog/?p=1009#comment-1282</guid>
		<description>@Danny

timepickr seems to be eating the change event.    $(aField).change works fine   when I also attach timepickr    $(aField).timepickt(...) the change event does not trigger

Brian</description>
		<content:encoded><![CDATA[<p>@Danny</p>
<p>timepickr seems to be eating the change event.    $(aField).change works fine   when I also attach timepickr    $(aField).timepickt(&#8230;) the change event does not trigger</p>
<p>Brian</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Updating timepickr by Brian</title>
		<link>http://bililite.com/blog/2009/07/09/updating-timepickr/comment-page-1/#comment-1275</link>
		<dc:creator>Brian</dc:creator>
		<pubDate>Sun, 14 Feb 2010 07:45:00 +0000</pubDate>
		<guid isPermaLink="false">http://bililite.com/blog/?p=1009#comment-1275</guid>
		<description>@Danny

yes, exactly thanks

good spotting</description>
		<content:encoded><![CDATA[<p>@Danny</p>
<p>yes, exactly thanks</p>
<p>good spotting</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Updating timepickr by Danny</title>
		<link>http://bililite.com/blog/2009/07/09/updating-timepickr/comment-page-1/#comment-1274</link>
		<dc:creator>Danny</dc:creator>
		<pubDate>Sun, 14 Feb 2010 07:31:33 +0000</pubDate>
		<guid isPermaLink="false">http://bililite.com/blog/?p=1009#comment-1274</guid>
		<description>@Brian:
I should hire you for bug testing! (Salary starts at $0 an hour and doubles weekly).
It was a dumb copy/paste error that left two versions of the destroy method, the last of which was wrong. All should be working now.
--Danny</description>
		<content:encoded><![CDATA[<p>@Brian:<br />
I should hire you for bug testing! (Salary starts at $0 an hour and doubles weekly).<br />
It was a dumb copy/paste error that left two versions of the destroy method, the last of which was wrong. All should be working now.<br />
&#8211;Danny</p>
]]></content:encoded>
	</item>
</channel>
</rss>
