一旦我按下对话框上的转义键,如何让我的触发按钮显示?

时间:2014-03-07 19:24:40

标签: jquery dialog

这是我创建的ui对话框弹出窗口。目标是当弹出窗口可见时,触发它的按钮被隐藏。弹出窗口隐藏后,触发器可见且可点击。

我正在寻找以下条件:

  1. 转义键会关闭表单并取消隐藏触发按钮

    //foo_trigger is a button that opens the popup form, foo_popup
    $("#foo_trigger").hide();
    
    //Opens the popup form
    $("#foo_popup").dialog({
        resizable: false,
        height:275,
        width:500,
        modal: true,
        buttons: {
            //foo button submits the form
            "foo": function () {                
    
            },
            //Closes the form and unhides foo_trigger button
            "Close": function () {
                 $(this).dialog("close");
                 $("#foo_trigger").show();
            }
        }
    });
    
  2. 我更喜欢答案只是影响这个弹出窗口而不是全局影响转义键并始终输入密钥

2 个答案:

答案 0 :(得分:1)

当对话框打开和关闭时,您应该能够绑定和取消绑定keyup事件处理程序:

function keyupHanlder(e){
       if (e.keyCode == 27) {
           $("#foo_trigger").show();
       }
}

$("#foo_popup").dialog({
   ...
   open: function(e, ui){
       $(document).bind('keyup', keyupHandler);

   },
   close: function(e, ui){
       $(document).unbind('keyup', keyupHandler);
       $("#foo_trigger").hide();
   }
});

答案 1 :(得分:0)

这样的东西?

 $(document).keyup(function(e) {
      if (e.keyCode == 27) {// esc
          $("#triggerbutton").show();
      }   
    });