Firefox中的onkeypress事件

onkeypress event in Firefox

本文关键字:事件 onkeypress 中的 Firefox      更新时间:2023-09-26

我正在为一个常见问题寻找解决方案。

我希望JavaScript在输入字段中输入数据时检查特定的格式。

这就是我所拥有的:

HTML:

<input onkeypress=" return fieldFormat(event)">

JavaScript:

<script type="text/javascript">
    //Checks spelling in realtime, if JavaScript is enabled.
    function fieldFormat(event){
        var charCode = (window.event) ? window.event.keyCode : event.keyCode;
        var parts = event.target.value.split('.');
        if (charCode > 31 && (charCode != 46 &&(charCode < 48 || charCode > 57)) || (parts.length > 1 && charCode == 46))
            return false;
        return true;
    }
</script>

这在Chrome和IE中运行良好。但由于某种原因,Firefox给我带来了麻烦^^

有什么提示吗?

一些浏览器使用keyCode,另一些浏览器则使用which,因此请尝试以下操作:

function fieldFormat(event){
    var e = event || window.event,
        charCode = e.keyCode || e.which,
        parts = e.target.value.split('.');
    if (charCode > 31 && (charCode != 46 &&(charCode < 48 || charCode > 57)) || (parts.length > 1 && charCode == 46))
        return false;
    return true;
}

检查这个-看起来很常见https://support.mozilla.org/pl/questions/998291