我试图将Keypress plugin和Modal dialogs in Bootstrap结合起来。基于这个问题,我可以check if modal is open or closed using jquery。
但是,如果关闭模式,我需要仅执行Keypress 。如果它打开了,我就不想听按键了。
到目前为止我的代码:
if(!$("#modal").is(':visible')) {
var listener = new window.keypress.Listener();
listener.simple_combo("enter", function() {
console.log('enter');
});
// I have over 20 other listeners
}
答案 0 :(得分:4)
Bootstrap在打开时将id="modal"
CSS类添加到模态,因此(假设您的模态具有var modalIsOpen = $('#modal.in').length > 0;
:
{{1}}
答案 1 :(得分:3)
如果模态打开,可能更容易让听众附加,然后有条件地退出。
您可以设置如下内容:
=NOW()-$A$1>335
然后将以下行复制并粘贴到所有侦听器中。
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('shown.bs.modal', function(e) { modalIsOpen = true;})
$('#myModal').on('hidden.bs.modal', function(e) { modalIsOpen = false;})
var listener = new window.keypress.Listener();
listener.simple_combo("s", function() {
if (modalIsOpen) return;
alert("You hit 's'");
});