【发布时间】:2018-04-18 12:01:27
【问题描述】:
在我的项目中,ng-keypress 不适用于所有地方的 Enter 键。在某些地方,它工作得很好,但在其他地方,它适用于除 Enter 键之外的所有键。
这里我在ng-keypress 上调用test() 方法。
<div class="actions">
<div class="ui approve button red" data-ng-click="test()" id="confirm-yes" tabindex="8" ng-keypress="test()">Yes</div>
<div class="ui cancel button" data-ng-click="test()" id="confirm-no" tabindex="7" ng-keypress="test()">Cancel</div>
</div>
从测试方法来看,我只是展示了关键代码。对于除 Enter 之外的所有其他按键,我都可以正确看到 keycode。
$scope.test = function () {
alert('test called'+event.keyCode);
}
我浏览过很多 Stack Overflow 文章,我确信它的语法是正确的,但我对它的奇怪行为完全感到困惑。
知道为什么ng-keypress 不能用于输入并且它可以用于所有其他键。
【问题讨论】:
-
这不是为
div制作的事件,您可以在textarea或textbox等任何输入字段上尝试。 -
他为那个 div 添加了 tabindex。希望它也适用于 div。@ArpitMeena
-
为什么不将
$event传递给test()函数? -
传递 $event 即使它不起作用然后尝试
ng-keyup,它的行为也与ng-keypress相同 -
尝试输入事件而不是 ng-keypress :p
标签: javascript html angularjs dom-events enter