我可以阻止回车键调用Input标签的change事件吗?

问题描述 投票:0回答:1

其他场景需要更改事件,但不应在按下 Enter 键时触发。

JSFiddle:https://jsfiddle.net/Ljwa10es/1/

输入样本

const inp = document.querySelector("#inp");
inp.addEventListener("change", changeHandler);
inp.addEventListener("keyup", keyupHandler);

function changeHandler(e) {
      console.log(e.target.value)
}

function keyupHandler(e) {
    if (e.keyCode === 13) {
        console.log("Enter key pressed")
    }
}

其他场景需要更改事件,但不应在按下 Enter 键时触发。

javascript html event-handling onchange keyup
1个回答
0
投票
  const inp = document.querySelector("#inp");
  inp.addEventListener("change", changeHandler);
  inp.addEventListener("keyup", keyupHandler);

  function changeHandler(e) {
        console.log(e.target.value)
  }

  function keyupHandler(e) {
        if (e.keyCode === 13) {
              e.preventDefault();
        }else{
              console.log("Enter key was not pressed")
        }
  }

您必须使用 PreventDefault 方法来阻止 keyup 函数触发更改函数。

© www.soinside.com 2019 - 2024. All rights reserved.