我正在做一个画布绘画项目,并且试图更改事件侦听器的事件类型。例如,用户选择(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);
答案 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);