JavaScript ページで、ユーザーが Enter キーを押した場合にアラートをポップアップします。
if(evt.keyCode == 13){
alert("Return Key Pressed");
}
iPadでリターンキーを押してもイベントは発生しません。イベントをキャッチするにはどうすればよいですか?
JavaScript ページで、ユーザーが Enter キーを押した場合にアラートをポップアップします。
if(evt.keyCode == 13){
alert("Return Key Pressed");
}
iPadでリターンキーを押してもイベントは発生しません。イベントをキャッチするにはどうすればよいですか?
iPadのキーボードはkeypress
、 Returnキーを押すと、キーコード13でイベントを発生させます。これは、何か他の問題が発生しているようです
確認する簡単なjsfiddleは次のとおりです:http://jsfiddle.net/359wG/
https://api.jquery.com/keypress/によると
keypress イベントは、ブラウザーがキーボード入力を登録するときに要素に送信されます。これは keydown イベントに似ていますが、Shift、Esc、delete などの修飾キーと非印刷キーは keydown イベントをトリガーしますが、keypress イベントはトリガーしません。プラットフォームとブラウザーによっては、2 つのイベント間のその他の違いが生じる場合があります。
keypress イベント ハンドラーは任意の要素にアタッチできますが、イベントはフォーカスのある要素にのみ送信されます。フォーカス可能な要素はブラウザーによって異なりますが、フォーム コントロールは常にフォーカスを取得できるため、このイベント タイプの妥当な候補です。
return-key リスナーをアンカー タグに移動しました。アンカー タグは、iPad ではフォーム コントロールと同様に「フォーカス可能な要素」として扱われます。