从浏览器禁用iOS双击空格键

时间:2014-01-22 04:45:59

标签: javascript ios angularjs mobile safari

在iOS中,有一些原生功能,每当用户双击空格键并且输入字段中已经有内容时,它就会替换应该是一个带有句号和空格的双倍空格。

当字段发生变化时,我正在使用Angular和ng-change来检查无效字符。

我的问题是 - 从浏览器的角度来看,是否有任何方法可以禁用此功能?如果没有 - 是否有任何黑客/方式可以替换整个站点和空间,因为此时,当我双击空格键时,它似乎不会触发绑定到ng-change的函数。

1 个答案:

答案 0 :(得分:0)

这很有效。

var prevTime = 0, prevKey = 0;
document.querySelector("input").addEventListener("keyup", function (e) {
    if (Date.now() - prevTime < 1000 && prevKey == 32 && e.keyCode == 32) {
        var txt = this.value.split("");
        if (txt[txt.length - 2] == ".") {
            txt[txt.length - 2] = " ";
            this.value = txt.join("");
        }
    }
    prevTime = Date.now(); prevKey = e.keyCode;
});

http://jsfiddle.net/DerekL/YKz4N/