jQuery 1.9.0におけるhover()

jQuery Core 1.9 Upgrade Guideの日本語解説がいくつか出ていて、間違った内容が記述されてるので補足と訂正をしておきます。

[jQuery/Javascript]jQuery Core 1.9 Upgrade Guideの翻訳というか解説  |  Wood-Roots.blog
jQuery 1.9 で変わったところを調べてみる。 | バシャログ。

共に「hover() が非推奨に」となってるがこれは間違い。

As of 1.9, the event name string "hover" is no longer supported as a synonym for "mouseenter mouseleave". This allows applications to attach and trigger a custom "hover" event. Changing existing code is a simple find/replace, and the "hover" pseudo-event is also supported in the jQuery Migrate plugin to simplify migration.

廃止になったのはhoverメソッドではなく擬似イベントとして定義されている「hover」、jQuery 1.9.0未満では以下のコードが動作していたが、これが動作しなくなったというわけです。

$(".hoge").on("hover",function(){
	//do something
});

ぼくもjQueryの学校を監修している時にここをまちがって解釈してて教えてもらったのですが、みなさんも間違わないように注意してください。
(ただ、hover()ではなくon("mouseenter",...)とかon("mouseleave",...)で書いたほうが汎用性が高いのでおすすめです)

スポンサードリンク

«CSS Nite 26「CSS Preprocessor Shootout」が終了しました。 | メイン | 新春座談会 このコンピュータ書がすごい! 2013年版でjQueryデザイン入門がランクイン»