0

我正在尝试捕捉像Alt + g这样的按键事件,我的主干代码现在是这样的:

class MyView extends Backbone.View
  template: ...

  events:
    "keydown input" : "logKey"

  logKey: (e) ->
    if e.keyCode == 18 and e.keyCode == 71
      console.log('did it!')

哪个不起作用,因为一次只有一个事件键码。

这怎么可能实现?谢谢!

4

2 回答 2

0

为什么不寻找keypress而不是keydown?像这样的东西:

class MyView extends Backbone.View
  events:
    "keypress input" : "logKey"

  logKey: (e) ->
    console.log('did it') if(e.keyCode == 169)

演示:http: //jsfiddle.net/ambiguous/fmr8D/

于 2013-04-17T20:50:24.310 回答
-1

您必须设置一个单独的变量来跟踪修饰键并检查您的 keydown 事件。像:

events:
    "keydown input" : "logKeyDown",
    "keyup input" : "logKeyUp"

logKey: (e) ->
    if e.keyCode == 18
         altDown = true

    if altDown && e.keyCode == 71
      console.log('did it!')

logKeyUp: (e) ->
    if e.keyCode == 18
        altDown = false
于 2013-04-17T20:43:42.907 回答