如何在JavaScript中比较事件

How to compare events in JavaScript

本文关键字:比较 事件 JavaScript      更新时间:2023-09-26

我想给文档onkeydown&相同功能中的onkeyup

如何知道是哪个事件触发了函数?

<script>
document.onkeydown = listener;
document.onkeyup = listener;
function listener(e) {
 if(e === "onkeydown"){
    console.log("onkeydown");
 }
 else if(e === "onkeyup "){
    console.log("onkeyup ");
 }
 else{
    console.log("unknown");
 }
}
</script>

您可以使用e.type

document.onkeydown=侦听器;document.onkeyup=侦听器;

function listener(e) {
 if(e.type === "keydown"){
    console.log("keydown");
 }
 else if(e.type === "keyup "){
    console.log("keyup ");
 }
 else{
    console.log("unknown");
 }
}

您可以使用e.type,但删除on前缀。

function listener(e) {
   if(e.type.indexOf("key") !== 1)
      console.log("onkey" + (e.type == "keydown" ? "down" : "up")); 
   else { console.log("unknown"); }
}

您需要检查e.typee是一个Event对象,而不是字符串。

使用以下代码:

<script>
document.onkeydown = listener;
document.onkeyup = listener;
function listener(e) {
 if(e.type === "keydown"){
    console.log("onkeydown");
 }
 else if(e.type === "keyup "){
    console.log("onkeyup ");
 }
 else{
    console.log("unknown");
 }
}
</script>

e.type返回触发的事件