<?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>jQuery.class.js &#8211; Mach3.laBlog</title>
	<atom:link href="https://blog.mach3.jp/tag/jquery-class-js/feed" rel="self" type="application/rss+xml" />
	<link>https://blog.mach3.jp</link>
	<description></description>
	<lastBuildDate>Wed, 01 Feb 2012 00:51:58 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9</generator>
	<item>
		<title>jQuery.class.jsをアップデートしました</title>
		<link>https://blog.mach3.jp/2012/02/01/jquery-class-js-1-2.html</link>
		
		<dc:creator><![CDATA[mach3]]></dc:creator>
		<pubDate>Wed, 01 Feb 2012 00:51:58 +0000</pubDate>
				<category><![CDATA[Laboratory]]></category>
		<category><![CDATA[Class]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[jQuery.class.js]]></category>
		<category><![CDATA[Plugin]]></category>
		<category><![CDATA[Prototype.js]]></category>
		<guid isPermaLink="false">http://blog.mach3.jp/?p=2274</guid>

					<description><![CDATA[ちょっと使う予定が出来たのもあり、jQuery.class.jsの内容を見直してみました。 jQuery.class.js Prototype.jsライクなclassを生成する為のシンプルなライブラリ。 cf ) jQu [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>ちょっと使う予定が出来たのもあり、jQuery.class.jsの内容を見直してみました。</p>



<figure class="wp-block-image"><img decoding="async" src="http://lh6.ggpht.com/_JJkNs5Ixl70/TKHxrRN3cwI/AAAAAAAABC4/YrmxwaVzbLQ/201009282244.png" alt="jQuery.class.jsをアップデートしました"/></figure>



<p></p>



<span id="more-2274"></span>



<h2 class="wp-block-heading">jQuery.class.js</h2>



<ul class="wp-block-list">
<li><a href="https://github.com/mach3/js-jquery-class">mach3/js-jquery-class &#8211; GitHub</a></li>
</ul>



<p>Prototype.jsライクなclassを生成する為のシンプルなライブラリ。<br />
cf ) <a href="https://blog.mach3.jp/2010/09/jquery-class-js.html">jQueryでPrototype.js風のクラス定義をしてみる | Mach3.laBlog</a></p>



<h2 class="wp-block-heading">更新内容</h2>



<ul class="wp-block-list">
<li>jQuery.on/off()でイベントを扱えるようにしました</li>
</ul>



<p>これだけです。<br />
jQuery 1.7+ で使えるようになったon/off()メソッドに対応しました。<br />
従来通りbind/unbindも使えます。<br />
また、あわせて例示を大きく改めました</p>


<pre class="wp-block-code"><span><code class="hljs language-javascript"><span class="hljs-keyword">var</span> Data = Class.create();
Data.prototype = {
    <span class="hljs-attr">EVENT_ITEM_ADDED</span> : <span class="hljs-string">"item_added"</span>,
    <span class="hljs-attr">items</span> : &#91;],
    <span class="hljs-attr">addItem</span> : <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params"></span>)</span>{
       <span class="hljs-keyword">for</span>(i <span class="hljs-keyword">in</span> <span class="hljs-built_in">arguments</span>){
          <span class="hljs-keyword">this</span>.items.push(<span class="hljs-built_in">arguments</span>&#91;i]);
       }
       <span class="hljs-keyword">this</span>.trigger(<span class="hljs-keyword">this</span>.EVENT_ITEM_ADDED);
    },
    <span class="hljs-attr">getItemCount</span> : <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params"></span>)</span>{
       <span class="hljs-keyword">return</span> <span class="hljs-keyword">this</span>.items.length;
    }
};

<span class="hljs-keyword">var</span> myData = <span class="hljs-keyword">new</span> Data();
<span class="hljs-keyword">var</span> onAdded = <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params"></span>)</span>{
    <span class="hljs-built_in">console</span>.log(<span class="hljs-string">"Items added. I have "</span> + <span class="hljs-keyword">this</span>.getItemCount() + <span class="hljs-string">" items now."</span>);
};

<span class="hljs-comment">/**
 * on()でイベントリスナの追加
 * bind()でも可
 */</span>
myData.on(myData.EVENT_ITEM_ADDED, onAdded);
myData.addItem(<span class="hljs-string">"hoge"</span>); <span class="hljs-comment">// =&gt; Items added. I have 1 items now.</span>
myData.addItem(<span class="hljs-string">"fuga"</span>,<span class="hljs-string">"foo"</span>,<span class="hljs-string">"bar"</span>); <span class="hljs-comment">// =&gt; Items added. I have 4 items now.</span>

<span class="hljs-comment">/**
 * off()でイベントリスナの解除
 * unbind()でも可
 */</span>
myData.off(myData.EVENT_ITEM_ADDED, onAdded);
myData.addItem(<span class="hljs-string">"piyo"</span>); <span class="hljs-comment">// (nothing occurs)</span>
</code></span></pre>


<p>また、少し自分でまともに運用してみて、欲しいメソッドがあれば新たに生やすかもしれません。<br />
何かありましたらどうぞ。</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
