gpt4 book ai didi

javascript - 执行键盘操作时遇到问题

转载 作者:行者123 更新时间:2023-12-02 16:15:55 25 4
gpt4 key购买 nike

我有一堆 Div。我可以通过单击使用两个按钮(显示下一张或上一张卡片)来导航它们。谢谢dfsq到目前为止对我的帮助。但我正在尝试将键盘操作与鼠标单击并排添加。

当前单击“下一个”按钮将显示下一个项目,“上一个”将显示上一个项目(如果有)。 <强> Plunker

我如何添加类似的内容按键盘“向右箭头”将与单击“下一步”按钮相同,按键盘“向左箭头”将与单击上一个按钮相同。

我搜索了如何做到这一点,但还没有任何有效的结果。我看到 This 这正是我所期待的,但不知道如何实现。

任何解决方案/建议/示例将受到高度赞赏

<div class="container">
<div class="col-md-2-4"
ng-class="{'card-hide': index > $index + 1}"
ng-repeat="card in cards"
ng-style="{left: 2 * $index + 'px', top: 2 * $index + 'px', 'z-index': (cards.length - $index)}">

<ul class="list-unstyled cs-tag-item-grp">
<li class="clearfix" ng-repeat="value in card.cardItem">
<div class="pull-left">
{{value.keys}}
</div>
</li>
</ul>
</div>
<div class="keys">
<button type="button" class="btn btn-next" ng-click="index = index < cards.length ? index + 1 : cards.length">Next</button>
<button type="button" class="btn btn-pre" ng-click="index = index > 1 ? index - 1 : 1">Previous</button>
{{index}}
</div>
</div>

最佳答案

将其添加到您的 Controller 或创建指令并将其添加到链接函数:

angular.element(document).bind("keydown", function(event){    
var key = event.which;
switch(key) {
case 37:
$scope.index = $scope.index > 1 ? $scope.index - 1 : 1;
$scope.$apply();
break;
case 39:
$scope.index = $scope.index < $scope.cards.length ? $scope.index + 1 : $scope.cards.length
$scope.$apply();
break;
}
});

<强> DEMO

Directive Code:

app.directive("trackKeyDown", function () {
return {

restrict: "AEC",
link: function ($scope, element, attrs) {

angular.element(document).bind("keydown", function (event) {
var key = event.which;
switch (key) {
case 37:
$scope.index = $scope.index > 1 ? $scope.index - 1 : 1;
$scope.$apply();
break;
case 39:
$scope.index = $scope.index < $scope.cards.length ? $scope.index + 1 : $scope.cards.length
$scope.$apply();
break;
}
});

}
}

});

在 HTML 中:

<body ng-controller="MainCtrl" track-key-down>

<强> DEMO with Directive

关于javascript - 执行键盘操作时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29611204/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com