javascript - 单个 ESC 关闭 jQuery UI 中的所有模式对话框。解决方法?

标签 javascript jquery-ui dialog keyboard-shortcuts modal-dialog

实际上,jQuery 中存在(现在仍然存在)错误:http://bugs.jqueryui.com/ticket/4511 .

此行为的原因(来自错误描述评论):“对话框本身将 keydown 事件绑定(bind)到自身以在 ESC 上关闭对话框;此外,对话框覆盖将 keydown 事件绑定(bind)到文档,不过滤仅关闭事件对话框。”

我想不出一个可接受的解决方法。有没有人必须处理它?<​​/p>

最佳答案

非常简单 - 创建模态对话框后,运行此命令:

$([document, window]).unbind('.dialog-overlay'); 

如果您创建多个模态对话框,按 ESC 将仅关闭顶部的对话框。 然后,一旦您将注意力集中在底部对话框上,按 ESC 它也会将其关闭。

希望这对您有所帮助!

附言当您希望在按下 ESC 键时立即关闭所有对话框或仅关闭焦点对话框时,jQuery UI 开发人员应该添加一个选项。

关于javascript - 单个 ESC 关闭 jQuery UI 中的所有模式对话框。解决方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4744070/

相关文章:

javascript - 在 jQuery 中循环结果

javascript - 设置 CSS 属性行高时高度计算不正确

javascript - JQuery UI 可排序,输入框不可编辑

javascript - 计时 jQuery UI 对话框

javascript - 从 Adob​​e Illustrator 对象创建动画 SVG/GIF 图像

JQuery 内部文档

android - AlertDialog.Builder 与扩展 AlertDialog 的类 - 应用程序大小

c# - 如何将参数传递给在 JQuery dialog() Open 事件上调用的操作

c# - 如何显示另一个UI线程上的对话框

javascript - zone.js 和 Jasmine 的时钟之间的冲突