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

时间:2014-02-09 00:36:40

标签: javascript jquery twitter-bootstrap backbone.js marionette

出于某种原因,当它在引导程序模式中处于活动状态时,我无法捕获视图中的简单keydown事件。

我声明我的观点/模态如下:

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

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

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

click事件会注册,但不会注册keydown事件。我正在通过在我的AppLayout视图中监听keydown事件来解决它,但这是suuuper hacky。

有谁知道为什么bootstrap模式会搞乱keydown / keypress事件?

2 个答案:

答案 0 :(得分:0)

您可以尝试在没有键盘事件的情况下初始化您的模态。来自文档:

$('#myModal').modal({ keyboard: false })   // initialized with no keyboard

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

答案 1 :(得分:0)

做了一些研究,显然引导模态将元素从DOM中取出......?有一些文章提供了一些解决方法,但我刚刚建立了自己的准系统木偶模式插件。当它准备好供一般使用时,我会在这里发布链接。