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();
          }
      });
    }
  ]);
您可以在演示中看到我仅使用"INPUT"nodeName,它不会阻止文本输入的退格键的默认值,但不会打开,textarea因为我们还没有在条件中处理它.
我不能评论"接受的答案",但它会作为条件不正常
e.which === 8 && e.target.nodeName !== "INPUT" || e.target.nodeName !== "SELECT"
有逻辑错误,所以你可以使用
e.which === 8 && e.target.nodeName !== "INPUT" && e.target.nodeName !== "SELECT"
或回答编写@ThisIsMarkSantiago.
| 归档时间: | 
 | 
| 查看次数: | 10574 次 | 
| 最近记录: |