gpt4 book ai didi

javascript - removeEventListener,特殊情况怎么做

转载 作者:行者123 更新时间:2023-12-03 05:21:45 25 4
gpt4 key购买 nike

我有这个代码:

grabbale.addEventListener("leap-hand-grab", function(e){
if (e.state === "grab") {
console.log("grabbed");
} else if (e.state === "release") {
console.log("release");
} else if (e.state === "move") {
if (stopGrab == 0) {
grabbale.style.left = e.x - (grabbale.offsetWidth/2)+ "px";
grabbale.style.top = e.y - (grabbale.offsetHeight/2)+ "px";
} else {
$("#foo").css({
"color": "red"
});
}
}

})

我需要的是使用removeEventListener删除 eventListener,但它需要两个参数,事件函数嗯>。在我的例子中,函数没有名称,事件grabbale元素的拖动。 。我怎样才能做我需要的事情?

最佳答案

你可以使用命名函数来代替,这与匿名函数现在有名称是一样的。

grabbale.addEventListener("leap-hand-grab", grabListener);

function grabListener(e){
if (e.state === "grab") {
console.log("grabbed");
} else if (e.state === "release") {
console.log("release");
} else if (e.state === "move") {
if (stopGrab == 0) {
grabbale.style.left = e.x - (grabbale.offsetWidth/2)+ "px";
grabbale.style.top = e.y - (grabbale.offsetHeight/2)+ "px";
} else {
$("#foo").css({
"color": "red"
});
}
}

要删除只需使用

grabbale.removeEventListener("leap-hand-grab", grabListener);

您需要删除事件的位置。

一些额外的链接:

关于javascript - removeEventListener,特殊情况怎么做,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41348027/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com