gys*_*yss 7 javascript jquery backspace angularjs
我在AngularJS webapp中遇到了这个问题.
当用户输入带有要填写的表单并且他开始键入的页面时,如果他按下退格键并且焦点不在输入文本上,则页面将进入先前状态.
我使用jQuery 查找了这个解决方案,但它似乎不适合在AngularJS中实现这一点.
有$document在角JS:
angular.module('yourModule', [])
.controller('yourController', ['$scope', '$document', function($scope, $document) {
$document.on('keydown', function(e){
if(e.which === 8 && ( e.target.nodeName !== "INPUT" && e.target.nodeName !== "SELECT" ) ){ // you can add others here inside brackets.
e.preventDefault();
}
});
}
]);
Run Code Online (Sandbox Code Playgroud)
您可以在演示中看到我仅使用"INPUT"nodeName,它不会阻止文本输入的退格键的默认值,但不会打开,textarea因为我们还没有在条件中处理它.
我不能评论"接受的答案",但它会作为条件不正常
e.which === 8 && e.target.nodeName !== "INPUT" || e.target.nodeName !== "SELECT"
Run Code Online (Sandbox Code Playgroud)
有逻辑错误,所以你可以使用
e.which === 8 && e.target.nodeName !== "INPUT" && e.target.nodeName !== "SELECT"
Run Code Online (Sandbox Code Playgroud)
或回答编写@ThisIsMarkSantiago.
| 归档时间: |
|
| 查看次数: |
10574 次 |
| 最近记录: |