首页 > 解决方案 > 如果有一些验证,Ctrl+A 在输入框上的 Firefox 中不起作用

问题描述

我已经在 stackoverflow 上找到了一些相关问题及其解决方案,但没有一个解决方案对我有用。所以,这是我的确切问题:

我有一个有几个输入框的付款表格,并且在某些输入框上进行了一些验证。Ctrl+A/Ctrl+a 不适用于应用了某些验证的输入框,否则它可以正常工作。这仅在 Mozilla firefox 中发生,但在 chrome 中运行良好。

function isAllowedKey(event) {
    var allowed = false;
    if ( (event.keyCode === 8 || event.keyCode === 9 || event.keyCode === 37 || event.keyCode === 39)  || (event.keyCode === 65 || event.keyCode === 97) && (event.ctrlKey === true) ) {
        allowed = true;
    } 
    return allowed;
}

标签: javascriptfirefox

解决方案


感谢 Seblor,在以不同的方式尝试了您的建议后,我想出了一个我想要的解决方案和 violla,它在几乎所有浏览器(如 chrome、firefox、IE9、Microsoft Edge)中都可以正常工作。我面临的问题是,在输入框上已经应用了很多验证,因为在 firefox (Ctrl+a/Ctrl+A) 中不起作用。以下是工作功能:

function isAllowedKey(event) {
    if (event.keyCode === 8 || event.keyCode === 9 || event.keyCode === 37 || 
        event.keyCode === 39 || event.ctrlKey === true) {
            return true;
    } 
    return false;
}

推荐阅读