在angular2中如何检测Ctrl A键按下?

时间:2017-09-07 16:15:43

标签: angular

我有一个项目列表,我试图将文件浏览器等文件遍历行为提供给项目列表,这意味着在选择项目后,如果您按住Shift键并按下箭头,那些项目应该被选中。

我有一份如下所述的清单。

    <div class="container">
    <ul class="mylist">
    <li  tabindex="1">item1</li>
    <li  tabindex="2">item2</li>
    <li  tabindex="3">item3</li>
    <li tabindex="4">item4</li>
    <li tabindex="5">item5</li>
    <li tabindex="6">item6</li>
    <li tabindex="7">item7</li>
    <li tabindex="8">item8</li>
    <li tabindex="9">item9</li>
    <li tabindex="10">item10</li>
</ul>

如果我使用的是(keydown.ctrl.a)="handleKey($event, item.name)",则无法识别ctrl和点击按钮。我怎样才能在angular2中实现这个目标?

2 个答案:

答案 0 :(得分:11)

使用let subscriptionOp1 = CKModifySubscriptionsOperation(subscriptionsToSave: subscriptions[0], subscriptionsToDelete: nil) let subscriptionOp2 = CKModifySubscriptionsOperation(subscriptionsToSave: subscriptions[1], subscriptionsToDelete: nil) let subscriptionOp3 = CKModifySubscriptionsOperation(subscriptionsToSave: subscriptions[2], subscriptionsToDelete: nil) subscriptionOp2.addDependency(subscriptionOp1) subscriptionOp3.addDependency(subscriptionOp2) database.add(subscriptionOp1) database.add(subscriptionOp2) database.add(subscriptionOp3) 代替control

ctrl

答案 1 :(得分:1)

将其放入handleKey以检测是否按下了Ctrl + a:

event.getModifierState && event.getModifierState('Control') && event.keyCode===65

DEMO