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以降全てで修正されています。