JavaScript将变量事件传递给事件侦听器

时间:2020-11-12 14:31:34

标签: javascript mouseevent addeventlistener mouseclick-event

我正在做一个画布绘画项目,并且试图更改事件侦听器的事件类型。例如,用户选择(i)单击或(ii)鼠标悬停。然后,将“ Click”或“ Mouseover”作为参数传递给事件侦听器。在上面day了一天的时间。不知道事件是否是不变的。无论如何以为我会发布它。另外,我使用范围作为输入(值为0和1)。任何帮助将不胜感激。

<input type="range" id="state" name="state" min="0" max="1" value="0" onchange="changestate();">
$state = "mousemove";  // Global Variable

function changestate(){
x = document.getElementByID("state").value;

if(x == 1){
      $state = "mousemove";
      } else {
             $state = "click";
}

canvas.addEventListener($state, function (evt) {
      //code
}, false); 

2 个答案:

答案 0 :(得分:0)

您可能必须使用两个不同的事件侦听器来执行此操作,但是您可以将相同的函数传递给它们,然后使用该函数检查是否运行mouseover事件或{{1} }

JS

click

答案 1 :(得分:0)

最终,以下内容为我提供了我想要的东西。谢谢大家的帮助。

canvas.addEventListener("mousemove", function (evt) {
    var mousestate = document.getElementById("state").value;
    if(mousestate == 0){
                // code
                }
    } else {
         canvas.addEventListener("click", function (evt) {
                //code
             }, false);
           }

}, false);
相关问题