[解決済み] <Enter>でjQuery UIダイアログを送信する
2022-07-11 17:34:34
質問
jQuery UIダイアログボックスとフォームを持っています。私は、ダイアログのボタンの1つをクリックして、マウスを使用したり、それにタブオーバーする必要がないようにシミュレートしたいと思います。言い換えれば、私はそれが"OK"ボタンを押すことをシミュレートする通常のGUIダイアログボックスのように動作するようにしたい。
これはダイアログで簡単なオプションかもしれないと仮定していますが、そのようなオプションは jQuery UI ドキュメント . 私はkeyup()で各フォーム入力をバインドすることができましたが、よりシンプルでクリーンな方法があるかどうかは分かりませんでした。ありがとうございます。
どのように解決するのですか?
のオプションがあるかどうか分かりません。
jQuery UI ウィジェット
というように、単純に
keypress
イベントをダイアログを含む div にバインドすることができます...
$('#DialogTag').keypress(function(e) {
if (e.keyCode == $.ui.keyCode.ENTER) {
//Close dialog and/or submit here...
}
});
これは、ダイアログのどの要素にフォーカスが当たっていても実行されます。
もしこれをデフォルトの機能にしたいのであれば、次のコードを追加します。
// jqueryui defaults
$.extend($.ui.dialog.prototype.options, {
create: function() {
var $this = $(this);
// focus first button and bind enter to it
$this.parent().find('.ui-dialog-buttonpane button:first').focus();
$this.keypress(function(e) {
if( e.keyCode == $.ui.keyCode.ENTER ) {
$this.parent().find('.ui-dialog-buttonpane button:first').click();
return false;
}
});
}
});
さらに詳しく見てみると、こんな感じです。
$( "#dialog-form" ).dialog({
buttons: { … },
open: function() {
$("#dialog-form").keypress(function(e) {
if (e.keyCode == $.ui.keyCode.ENTER) {
$(this).parent().find("button:eq(0)").trigger("click");
}
});
};
});
関連
-
[解決済み] jQueryで要素が非表示になっているかどうかを確認するには?
-
[解決済み] jQueryでチェックボックスに "checked "を設定する
-
[解決済み] jQueryの「exists」関数はありますか?
-
[解決済み] jQueryでテーブルの行を追加する
-
[解決済み] jQueryで要素にスクロールする
-
[解決済み] セレクトボックスのオプションをすべて削除してから、オプションを1つ追加して、jQueryで選択するにはどうすればよいですか?
-
[解決済み] Can I make a <button> not submit a form?
-
[解決済み】jQueryでチェックボックスがチェックされているかどうかを確認するにはどうすればよいですか?
-
[解決済み] 配列からオブジェクトを生成する
-
[解決済み] JavaScript で範囲を作成する - 奇妙な構文
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】送信ボタンがないのにEnterキーを押してフォームを送信する
-
[解決済み] ジェスト あるクラスの特定のメソッドをモックする方法
-
[解決済み] ExtJS 4のイベントハンドリングについて
-
[解決済み] 文字列の最後の文字を取得するにはどうすればよいですか?重複
-
[解決済み] マングース ユーザーの全リストを取得する
-
[解決済み] WebP サポートの検出
-
[解決済み] Reactjsで入力にフォーカスが当たったとき、すべてのテキストを選択するには?
-
[解決済み] Math.random()を呼び出す関数は純粋か?
-
[解決済み] Firefox で ES2015 のインポートが機能しない(トップレベルでも)。
-
[解決済み] マウスオーバー時のマウスカーソルをアンカーのようなスタイルに変更する