「WordPressで学ぶPHP(3)関数編」を発売しました。
本書は「WordPressで学ぶPHP(1)変数・制御構造編」「WordPressで学ぶPHP(2)データ構造(配列・オブジェクト)編」の続編にあたり、PHP組み込みの関数や、独自の関数を作る方法などを解説します。
Kindle本で、定価400円です。
jQuery 1.7リリース
米国時間の2011年11月3日に、jQuery 1.7がリリースされました。
JQUERY 1.7 RELEASED(jQuery公式ブログ)
jQuery 1.7の主な改良点は以下の通りです。
.on()/.off()
イベントハンドラの登録と解除を行う新しいAPIとして、.on()と.off()が追加されました。
$(elements).on(events [, selector] [, data] , handler); $(elements).off([ events ] [, selector] [, handler]);
例えば、p要素がクリックされた時のハンドラを定義するには、以下のように書きます。
jQuery('p').on('click', handler);
selectorを指定すると、.delegate()と同じような動作になります。
例えば、IDがcontainerの要素の中にあるli要素に対して、クリックされた時のハンドラを定義するには、以下のように書きます。
jQuery('#container').on('click', 'li', handler);
jQueryの公式ブログによると、jQuery 1.7以降を組み込むプロジェクトでは、イベントハンドラの登録/解除を.on()/.off()のAPIで行うことが推奨されています。
Delegateの高速化
Delegateの処理が高速化され、jQuery 1.6.4と比べて、処理時間が約半分になったそうです。
IE8以前でのHTML5対応
.html()などのAPIで、HTML5のsectionなどの新要素を追加したりした場合、これまでのjQueryではInternet Explorer 8以前では正しく動作しませんでした。
この点が改良され、jQuery 1.7ではIE8以前でも正しく動作するようになりました。
ただし、HTML5Shivも合わせてを組み込む必要があります。
その他
上記の他に、以下のような改良が行われているということです。
- .slideToggle()/.fadeToggle()の動作の正常化
- Asynchronous Module Definition(AMD)APIのサポート
- jQuery.Deferredの改良
- 数値かどうかを判断するjQuery.isNumeric()関数の追加