Bug-org 1008244 Regression in 29: "Enter" key on <select> element no longer fires a keypress event
初回投稿日時: 2014年05月30日10時34分32秒
カテゴリ: Events Mozilla Core Mozilla30 Mozilla31 Mozilla32 バグ修正
SNS:
Tweet (list)
<select size="1">
な要素にフォーカスがある時、Enterキーのkeypress
イベントが発生しなくなっている、というバグです。
<select>
要素は、non-printableキーを、keypress
イベントではなく、keydown
で処理するように変更しましたが、<select size="1">
の場合、keypress
で処理していた時と同様、ドロップダウンが閉じていて、何も処理しない場合でも、preventDefault()
を呼び出していました。これが原因で、keypress
イベントが発生していなかった訳です。
IEやChromeでは、Enterキーは、non-printableキーにも関わらず、keypress
イベントが発生していることが分かりましたので、今後は、defaultPrevented
を意識する場合は、その値がtrue
の場合はkeydown
で、false
の場合はkeypress
で処理すべきのようです。
今回の修正では、単に、何もデフォルトアクションが発生しない場合に、preventDefault()
を呼ばないようにして対応しています。
この修正は重要なので、Firefox 30以降全てで修正されています。