【问题标题】:event.preventDefault does not work in Android 4.4.4event.preventDefault 在 Android 4.4.4 中不起作用
【发布时间】:2016-02-10 23:41:30
【问题描述】:

当试图阻止在 Android 4.4.4 上的密码字段(输入类型=“密码”无空格)中输入空格键时,它不会阻止按键被按下。在 Android 4.4.2 中它工作正常。我也在 4.4.2(和设备)上使用模拟器尝试过同样的操作,并且也可以。

    element.bind("keydown", function(e){
     if (e.keyCode === 32 ){
     e.preventDefault();
     e.stopPropagation();
    }

这是 4.4.4 中的错误吗?又该如何解决?

【问题讨论】:

    标签: android keydown


    【解决方案1】:

    我之前的回答弄错了,所以我只解释我实现它的一种方法,它可能有效。

    <input type="text" ng-keydown="disableSpaces($event)">
    <script>
        function ctrl($scope){
            $scope.disableSpaces = function($event){
                if($event.keyCode === 32) $event.preventDefault();
            }
        }
    </script>
    

    干杯!

    【讨论】:

    • 谢谢,我会试试这个,但我看不出有什么区别,除了你使用的是我在指令 中执行的 ng-keydown 事件。你能解释一下吗?
    • 我不知道它是否会起作用,但是 ng-whatever 指令在后台有样板代码,因此我们不必实现它。如果您回退到通过指令手动绑定事件,则必须自己实现该样板。也许而且只是也许 ng-keydown 事件中的某些东西可以使它工作,即使您的代码实际上是正确的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-04-04
    • 1970-01-01
    • 2022-01-02
    • 2016-06-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多