我正在为数字字段编写代码,其中我已禁用除数字键以外的所有键



function doValidation(event) {
  var charCode = event.keyCode;
  if (charCode != 190 && charCode != 40 && charCode != 39 && charCode != 38 && charCode != 37 && charCode != 46 && charCode > 31 && (charCode < 48 || charCode > 57) && (charCode < 96 || charCode > 105))
    return false;
}

<input type="text" onkeydown="doValidation(event)">





现在,我想在此功能中启用ctrl + c和ctrl + v。

最佳答案

你可以像下面这样:)

var is_ctrl_pressed = false;
$('#number_input').on('keydown', function(e) {
    var code = e.which;
    if ((code > 47 && code < 59) || (code > 95 && code < 106) || (is_ctrl_pressed && (code == 67 || code == 86))) {
        return true;
    } else if (code == 17) {
        is_ctrl_pressed = true;
    } else {
        return false;
    }
});
$('#number_input').on('keyup', function(e) {
    if (e.which == 17) {
        is_ctrl_pressed = false;
    }
});

关于javascript - 禁用所有按键,但复制粘贴组合,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51876927/

10-10 23:41