How to compare events in JavaScript

I want to provide document onkeydown and onkeyup in the same function

How do I know which event triggers a function?

<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>

      

+3


source to share


4 answers


you can use e.type

document.onkeydown = listener; document.onkeyup = listener;



function listener(e) {

 if(e.type === "keydown"){
    console.log("keydown");
 }

 else if(e.type === "keyup "){
    console.log("keyup ");
 }

 else{
    console.log("unknown");
 }
}

      

+2


source


You can use e.type

but remove the prefix on

.



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

      

+2


source


You need to check e.type

. e

is an Event object, not a string.

+1


source


use this code:

<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

returns which event is fired

+1


source







All Articles