jquery - 有没有办法在 Twitter Bootstrap 模式对话框关闭后将文档放入 "focus"中?

标签 jquery twitter-bootstrap focus modal-dialog

我正在使用 Twitter Bootstrap 进行模式对话框:http://twitter.github.com/bootstrap/javascript.html#modals (bootstrap-modal.js)。

当我点击“esc”时,模式将按预期关闭。但是,正如您从该页面上的示例中看到的那样,光标消失了。用户必须单击浏览器窗 Eloquent 能将其重新置于焦点中。

这对我来说是一个问题,因为我有一个主要由键盘快捷键驱动的网站。因此,一旦模式对话框关闭,用户将按下某个按键,期望发生一些事情,但它不会起作用。他/她首先必须单击浏览器窗口,键盘快捷键才能再次起作用。

我尝试在模式隐藏后调用 $('body').focus() (即在 $('#modalDiv').modal('hide') 之后调用;,但这不会改变任何东西。

有什么想法吗?

最佳答案

这很难issue

一个可能成功的解决方法是基于延迟焦点触发

$("#your-modal").on("hidden.bs.modal",function(e){
   setTimeout(function(){
      $('#input-to-focus').focus();         
   },300);  
});`

关于jquery - 有没有办法在 Twitter Bootstrap 模式对话框关闭后将文档放入 "focus"中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11818318/

相关文章:

c# - 如何拦截 TAB 键按下以防止 C# 中的标准焦点更改

javascript - 图片 :focus doesn't stay focus in CSS

javascript - document.ready 有时不执行

javascript - 如何在其中一个上使用溢出来放置相同高度的列?

jquery - 禁用模态表单的自动关闭

javascript - Bootstrap 模式对话框中的默认按钮

javascript - 在溢出的 div 内滚动

java - 获取维基百科类别链接

jquery - 如何清除隐藏上的 Bootstrap 模式

jquery 焦点在 IE 中不起作用