event.preventdefault在firefox中不起作用

时间:2016-03-19 13:58:39

标签: javascript jquery angularjs events preventdefault

我正在尝试将输入文件中的部分文本设置为只读,以实现我找到此代码但它在FIrefox中不起作用,在chrome中工作正常。

发现event.preventDefault导致了问题。 尝试返回false,这也是行不通的。

Angular JS指令代码

app.directive('partialReadonly', function () {
    return {
        restrict: 'A',
        link: function ($scope, $element, attrs) {

            $element.on('keypress, keydown', function (event) {
                var readOnlyLength = attrs["partialReadonly"].length;

                if ((event.which != 37 && (event.which != 39))
                        && (($element[0].selectionStart < readOnlyLength)
                                || (($element[0].selectionStart == readOnlyLength) && (event.which == 8)))) {
                    alert('preventdef');
                    //return false;
                    event.preventDefault();
                }
            });

            $scope.load = function () {
                alert('load called attrs["partialReadonly"] ' + attrs["partialReadonly"]);
                $scope.temp = attrs["partialReadonly"];
                // $element[0].value = attrs["partialReadonly"];

            };

        }
    };
});

Html代码

 <input type="text"  ng-init="load()" ng-model="key" partial-readonly="{{number}}" />

1 个答案:

答案 0 :(得分:1)

由于@epascarello和@Alon不使用alert进行调试而是使用控制台日志,因此从脚本中删除警报可能有所帮助。

希望我帮助