javascript - String.fromCodePoint() 在 IE 中不起作用,Tab 键在 Firefox 中不起作用

标签 javascript angularjs

我有这样的代码,它在 IE 10 或 Firefox 43 中不起作用:

app.directive('limitChars', function () {
    return {
        restrict: 'A',
        link: function (_scope, _element) {
            var allowedChars = /[a-z0-9, ]/;

            _element.on("keypress", function (e) {
                var key = String.fromCodePoint(e.which).toLowerCase();

                if (!allowedChars.test(key) && e.which != 13 && e.which != 8) {
                    return false;
                }
            });
        }
    };
});

在 IE 10 中,出现“对象不支持属性或方法 fomCodePoint”错误。

在 Firefox 43 中,“tab”键将失效。

在 Chrome 中,一切正常。

谁知道为什么?谢谢。

更新:

formCharCode() 现在似乎可以在 IE 中使用了。但是 Tab 键在 Firefox 中仍然不起作用。

最佳答案

同时使用 e.keyCodee.which。以下适用于所有浏览器:

app.directive('limitChars', function(){
        return {
            restrict: 'A',
            link: function(_scope,_element) {
                var allowedChars = /[a-z0-9, ]/;

                _element.on("keypress",function(e){
                    var keyCode = e.keyCode || e.which;

                    var key = String.fromCharCode(keyCode).toLowerCase();

                    if (!allowedChars.test(key) && keyCode != 8 && keyCode != 9 && keyCode != 13 && keyCode != 16) {
                        return false;
                    }
                });
            }
        };
    });

关于javascript - String.fromCodePoint() 在 IE 中不起作用,Tab 键在 Firefox 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34641233/

相关文章:

javascript - Zone.js 将错误的 currentZone 值传递给 onInvoke Hook

javascript - 使用 then() 使函数在 Node 中顺序运行

javascript - 如何在 JavaScript 中格式化这个日期/时间?

javascript - Chrome 扩展回调

javascript - 使用 php 和 javascript 创建带有预览功能的图像 uploader

javascript - 如何创建javascript多维数组?

html - 悬停在元素上时的工具提示

javascript - Angular.js HTTP 获取使用 $routeParams

javascript - 使用 Firebase 数据过滤 ng-repeat

javascript - 从 AngularJS url 中删除路由参数