使用Chrome浏览器在“keydown”事件上间歇性地将event.key定义为未定义

时间:2016-08-06 06:07:32

标签: javascript angularjs

我在角度自定义指令代码中使用下面的代码来了解按下的键。它工作正常,但event.key开始间歇性地给出undefined。如果我清除缓存并再次尝试,它会再次开始工作。可能的问题是什么?

<input type="text" input-styler="" class="form-control" id="input-phrase" ng-model="home.inputPhrase" autocomplete="off">

angular
.module('myApp')
.directive('inputStyler', inputStyler);

function inputStyler() {
    var directive = {
        restrict: 'A',
        link: link
    };
    function link(scope, element, attrs){
        element.bind("keydown", function (event) {
            console.log(event.key);
            if((!event.ctrlKey) && (event.key !== " ") && (event.key.length == 1)){
                scope.home.inputPhrase += event.key;
            }

        });


        element.on("cut copy paste", function(event){
            event.preventDefault();
        });
    };
    return directive;
}

0 个答案:

没有答案