当Bootstrap模态框处于活动状态时,无法捕获按键事件

3

由于某些原因,我无法在Bootstrap模态框中的视图中捕获简单的按键事件。

我是这样声明我的视图/模态框的:

cardFrontView = new CardFrontView(model: @model)
app.layout.card_front.show(cardFrontView)
$('.card-front.modal').modal()

在我的卡片视图中,我监听这样的事件:

events:
    'click': () ->
        console.log 'click'
    'keydown': () ->
        console.log 'keydown'

点击事件可以被注册,但是键盘按下事件却不能。目前我通过在我的AppLayout视图中监听keydown事件来解决这个问题,但是这种方法非常hacky。

有人知道为什么bootstrap模态框会干扰keydown/keypress事件吗?

2个回答

0
你可以尝试在模态框初始化时不添加键盘事件。参考文档如下:
$('#myModal').modal({ keyboard: false })   // initialized with no keyboard

我猜测已经有一些内置机制来处理导航/关闭,这可能会干扰你自己的事件。


0

最近做了一些研究,发现Bootstrap模态框会将元素从DOM中移除...?有一些文章提供了一些解决方法,但我已经自己构建了一个基本的Marionette模态框插件。当它准备好供大众使用时,我会在这里发布链接。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接