リターンキーの際には、keypressイベントの、、
- event.returnValue=false
- event.preventDefault()
で入力をキャンセルできましたが、Operaのタブ入力は、上記方法ではキャンセル出来ません。
いろいろ調べましたが、結局キャンセルする方法は見つからなかったので、TABをキャンセルする(ように見せたい)時には、setTimeoutを使って、移動したフォーカスを戻すようにしています。
実際、suggest.jsでは、TABキーで入力補完を確定しており、その際のOperaに対応するために、上記の方法を取りました。
実はOpera特有のプロパティとかイベントがあって、それ使うとTABもキャンセルできたりしないかなぁ…
参考: