【发布时间】:2014-08-01 17:37:46
【问题描述】:
我有一个文本区域,我想从中捕获一个shift-enter 事件,该事件在其中被按下。
enter 和shift-enter 都调用controller 的save 方法。但是在save 方法中,我似乎没有param 给我按下的键(数字)。
当我在我的view(controller) 中实现keyUp: (e) -> 方法时,当save 方法在controller 中实现时它不会被调用,或者当save 方法没有实现时,我得到一个错误提示 nothing handled the action save。
实际上我只想知道调用save 操作的按键是enter 还是shift-enter。
最好的方法是什么?谢谢!
更新
我的代码现在看起来像这样:
ContactIndex = Ember.View.extend
listenKey: ((event) ->
if(event.which == 13)
@get('controller').send('save', event.shiftKey)
).on('keyDown') # When I use `keyUp` instead, the isShift boolean value is not being transmitted.
Contact = Ember.ObjectController.extend
save: (isShift) ->
console.log('Shift Key Pressed: ' + isShift)
false
每按一次enter 或shift-enter,save action 就会被调用两次。
【问题讨论】:
-
你能创建一个 jsbin 复制你的问题吗?
-
我用代码@lame_coder 更新了问题