【问题标题】:keyup event does not set event shiftKey JAVASCRIPTkeyup 事件未设置事件 shiftKey JAVASCRIPT
【发布时间】:2019-09-27 07:54:17
【问题描述】:

当同时按下 SHIFT 键和字符时,函数 onkeyup 对所有字符都有效,或者按住 SHIFT 键并按下字符,但是当在字符之前按下 SHIFT 键时会出现问题。返回的值是小写字符。因此,例如,如果我按下 SHIFT 并按 a,则返回 'a' 但不返回 'A' 。

所以我的问题是如何 SHIFT 键是 keyup 。我尝试了以下检查,但这没有用:

pass_input_obj[i]['input'].onkeyup = function(event) {`enter code here`
    if(event.key == "Process") {
        if(event.code.includes("Shift")) keypressed= "Shift";
     } else
          keypressed= event.key; 


if(keypressed == "Shift" || (event.code && event.code.includes("Shift"))) shiftclicked = false;

if(!isSpecialKey(keypressed) && !crtlclicked){
    Capletter = keypressed;

if(shiftclicked == true){
    Capletter = keypressed.toUpperCase();
}
}

【问题讨论】:

  • 可能我不是最新的,我想你需要密钥代码

标签: javascript


【解决方案1】:

不确定我是否清楚您的所有需求。我假设您想按下并释放“Shift”按钮并单击任何其他字符。那个字符应该大写。

这是我的实现方式

var inputEl = document.getElementById('txt');
var isPrevShiftClicked = false;
inputEl.onkeyup = function(event) {
  if(isPrevShiftClicked) {
    inputEl.value = inputEl.value.slice(0, inputEl.value.length - 1) + inputEl.value.charAt([inputEl.value.length - 1]).toUpperCase();
  }
  isPrevShiftClicked = event.keyCode === 16;
}
<input type="text" id="txt" />

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-14
    • 2016-07-29
    • 2014-06-12
    • 1970-01-01
    相关资源
    最近更新 更多