Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/440.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 检查引导模式当前是否显示_Javascript_Jquery_Twitter Bootstrap_Twitter Bootstrap 3_Bootstrap Modal - Fatal编程技术网

Javascript 检查引导模式当前是否显示

Javascript 检查引导模式当前是否显示,javascript,jquery,twitter-bootstrap,twitter-bootstrap-3,bootstrap-modal,Javascript,Jquery,Twitter Bootstrap,Twitter Bootstrap 3,Bootstrap Modal,我正试着把这两种方法结合起来。基于这个问题,我可以 然而,我只需要在modal关闭时执行按键。如果它是开着的,我不想听按键声 这是我目前的代码: if(!$(“#模态”)是(':visible')){ var listener=new window.keypress.listener(); simple_组合(“enter”,function()){ console.log('enter'); }); //我还有20多位听众 } 如果模态打开,那么让侦听器保持连接,然后有条件地退出它们可能更容易

我正试着把这两种方法结合起来。基于这个问题,我可以

然而,我只需要在modal关闭时执行按键。如果它是开着的,我不想听按键声

这是我目前的代码

if(!$(“#模态”)是(':visible')){
var listener=new window.keypress.listener();
simple_组合(“enter”,function()){
console.log('enter');
});
//我还有20多位听众
}

如果模态打开,那么让侦听器保持连接,然后有条件地退出它们可能更容易

您可以设置如下内容:

var modalIsOpen = false
$('#myModal').on('shown.bs.modal', function(e) { modalIsOpen = true;})
$('#myModal').on('hidden.bs.modal', function(e) { modalIsOpen = false;})
然后,只需将以下行复制并粘贴到所有侦听器中

if (modalIsOpen) return;
堆栈片段中的演示
var modalIsOpen=false
$('#myModal').on('show.bs.modal',函数(e){modalIsOpen=true;})
$('#myModal').on('hidden.bs.modal',函数(e){modalIsOpen=false;})
var listener=new window.keypress.listener();
simple_组合(“s”,function()){
如果(打开)返回;
警惕(“你打了‘s’”);
});

启动演示模式
&时代;
不要按按键
试着打高尔夫球

尝试点击S

引导会在打开模式时将
CSS类中的
添加到模式中,因此(假设您的模式具有
id=“modal”


我认为您需要检查模态是否在事件函数中可见,而不是在不可见时创建侦听器。除非按键库以某种方式更改此行为,否则,如果模态对话框不可见且始终处于活动状态,则现在将在页面加载时创建侦听器。哦,是的,谢谢它的工作,但我有许多侦听器hink始终是检查的最佳解决方案?
var modalIsOpen = $('#modal.in').length > 0;