【问题标题】:Click on anything but a dialog单击对话框以外的任何内容
【发布时间】:2011-08-04 09:18:32
【问题描述】:

我创建了一个对话框,通过按一个按钮来显示。我想通过按其他任何地方或按退出键来隐藏它。有什么好办法吗?

【问题讨论】:

    标签: jquery jquery-ui


    【解决方案1】:

    要在按下退出键时关闭对话框,只需在对话框初始化代码中将closeOnEscape 设置为true。要关闭对话框外的任何点击,请参阅answer

    【讨论】:

      【解决方案2】:

      将点击事件绑定到并在您的函数中进行检查。如果对话框打开,请关闭它。

      $(body).bind("click", function() {
            if (dialogIsOpen) { // replace dialogIsOpen with your check to see if the dialog is open.
                  // code to close dialog
            }
      });
      
      $(body).bind("keydown", function() {
            if (keyIsEsc) { // replace keyIsEsc with check for ESC key.
                  // code to close dialog
            }
      });
      

      【讨论】:

      • 如果您点击对话框,这不会仍然关闭它吗?
      • 当点击冒泡到正文时,您可以检查目标元素
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-13
      • 2012-01-08
      相关资源
      最近更新 更多