Rak*_*ure 6 html javascript enter javascript-events angularjs
在我的项目中,ng-keypress不适用于来自所有地方的"输入密钥".从某些地方来看,它工作得非常好,但是从其他地方来看,它适用于除"输入密钥"之外的所有密钥.
这里我在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>
Run Code Online (Sandbox Code Playgroud)
从测试方法来看,我只是展示了密钥代码.除了Enter之外,我可以正确地看到所有其他按键的键码.
$scope.test = function () {
alert('test called'+event.keyCode);
}
Run Code Online (Sandbox Code Playgroud)
我已经阅读了很多StackOverflow文章,我确信它的语法是正确的但我对它的奇怪行为感到困惑.
知道为什么ng-keypress不能用于输入,它适用于所有其他键.
最后我不得不用<div>
标签替换<button>
标签来解决这个问题。
Button tag
完美地解决了这个问题。
<div class="actions">
<button class="ui approve button red" data-ng-click="test()" id="confirm-yes" tabindex="8" ng-keypress="test()">Yes</button>
<button class="ui cancel button" data-ng-click="test()" id="confirm-no" tabindex="7" ng-keypress="test()">Cancel</button>
</div>
Run Code Online (Sandbox Code Playgroud)