Angularjs 退格和制表符不适用于firefox

Angularjs 退格和制表符不适用于firefox,angularjs,Angularjs,Html文件 <input type="text" reg-ex-input reg-ex="^[a-zA-Z\t]+$" name="name" class="form-control" ng-model="module.mod_name" > Tab和backspace不适用于firefox…..对于其他浏览器,其工作正常。原因可能是firefox将Tab和backspace视为特殊字符…所以我现在应该做什么你是对的,firefox正在触发Tab和backspace的按键事

Html文件

 <input type="text" reg-ex-input reg-ex="^[a-zA-Z\t]+$"  name="name" class="form-control" ng-model="module.mod_name" >

Tab和backspace不适用于firefox…..对于其他浏览器,其工作正常。原因可能是firefox将Tab和backspace视为特殊字符…所以我现在应该做什么

你是对的,firefox正在触发Tab和backspace的
按键事件,而Chrome(至少)没有

您可以将
链接
功能更改为以下内容:

link: function(scope, element, attrs){
  element.bind('keypress', function (event) {
    var regex = new RegExp(attrs.regEx);
    var charCode = !event.charCode ? event.which : event.charCode;
    // check for tab & backspace for Firefox:
    if ([0, 8].indexOf(charCode) !== -1) return;
    var key = String.fromCharCode(charCode);
    if (!regex.test(key)) {
      event.preventDefault();
      return false;
    }
  });
}

你说得对,Firefox正在触发Tab和Backspace的
按键事件,而Chrome(至少)没有

您可以将
链接
功能更改为以下内容:

link: function(scope, element, attrs){
  element.bind('keypress', function (event) {
    var regex = new RegExp(attrs.regEx);
    var charCode = !event.charCode ? event.which : event.charCode;
    // check for tab & backspace for Firefox:
    if ([0, 8].indexOf(charCode) !== -1) return;
    var key = String.fromCharCode(charCode);
    if (!regex.test(key)) {
      event.preventDefault();
      return false;
    }
  });
}

太好了。您应该接受答案,然后(通过点击向上/向下投票的复选标记),让其他人知道它已成功解决。对于文件上载,我需要一些帮助…….我在前端使用angular js,nodejs和express作为后端如果您无法理解文件上载,那么我建议提出一个单独的问题来描述您的问题。这样,更多的人会在评论中看到它。太好了。您应该接受答案,然后(通过点击向上/向下投票的复选标记),让其他人知道它已成功解决。对于文件上载,我需要一些帮助…….我在前端使用angular js,nodejs和express作为后端如果您无法理解文件上载,那么我建议提出一个单独的问题来描述您的问题。这样,更多的人会在这些评论中看到它。