簡體   English   中英

jQuery對話框Enter提交(不關注表單)

[英]jQuery dialog Enter to submit (without form focus)

背景

使用jQuery模式對話框顯示表單。 該表格有一個自動完成字段。 當用戶從自動完成下拉菜單中選擇一個選項時,表單將失去焦點。 jQuery對話框檢測到ESC鍵,但是從未檢測到ENTER鍵。 考慮幾種形式(在同一頁面上)之一,它具有各種按鈕:

檢測何時按下ENTER鍵的源代碼:

  $(form).keyup(function( e ) {
    // Submit and close when Enter key pressed by triggering the accept button.
    //
    if( e.keyCode == $.ui.keyCode.ENTER ) {
      sequenceNumber = 0;
      $(this).parent().find( "#accept" ).trigger( 'click' );
    }
  });

每當表單的任何字段具有焦點時,這都將按預期的方式工作(觸發“接受”按鈕,服務器接收的值就很好)。

問題

當顯示對話框但沒有字段具有焦點時(例如,用戶單擊上圖中的“魚片”),然后按Enter,則永遠不會觸發keyup事件。

當表單沒有焦點但jQuery對話框仍處於打開狀態時,如何接收ENTER事件? (與jQuery對話框接收ESC按鍵以取消並關閉對話框的方式相同。)

謝謝!

我在主體上添加了觸發器,然后檢查表單是否可見。

$('body').keyup(function( e ) {
  if( e.keyCode == $.ui.keyCode.ENTER ) {
    if( $("#myform").is(":visible") ) {
      // Enter was pressed and form is visible
    }
  }
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM