gpt4 book ai didi

javascript - 修改交互时取消监听事件并在监听后重新激活

转载 作者:行者123 更新时间:2023-11-28 00:08:44 25 4
gpt4 key购买 nike

我再次为 unByKey/ol.Observable 的东西而苦苦挣扎......

我有一个用于创建弹出窗口的事件监听器。

var unByKeyPopup;
unByKeyPopup = map.on('click', function (evt) {
...
});

然后我有一个修改交互,当复选框设置为 true 时,该交互会被激活。

 function xyz() {
....

$('#checkbox').on('click', function () {
if(this.checked) {
modifyVectorInteraction();
$('#checkbox').un('click', unByKeyPopup); //????? dont activate the Popup thing while the user is in modify interaction
} if(!this.checked) {
map.removeInteraction(modifyinteraction);
$('#checkbox').on('click', unByKeyPopup); //????? ok, modify done, lets re-activate the Popup
}
...
});
...
}

嗯...这确实有效。我做错了什么?

谢谢

最佳答案

您尝试使用错误的方法,请使用 unByKey相反:

map.unByKey(unByKeyPopup);

更新:

而不是:

unByKeyPopup = map.on('click', function (evt) {
...
});

创建一个完成这项工作的函数:

var popupFunction = function(evt){
//...
};

并通过以下方式激活/ react 它:

unByKeyPopup = map.on('click', popupFunction);

关于javascript - 修改交互时取消监听事件并在监听后重新激活,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31095313/

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