gpt4 book ai didi

javascript - 是否可以将 "hold"事件设置为稍后触发?

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:21:10 24 4
gpt4 key购买 nike

我想做的是:当用户按下取消按钮,或通过链接或菜单选项离开页面时,我检查是否有未保存的更改。如果是这样,我会询问用户是否要保存。我无法使用 javascript 确认窗口执行此操作,因为有时我有两个以上的选项,所以我无法“保留”所有内容,直到用户做出类似确认的选择。所以我想“保存”事件,取消它当前的执行,直到用户下定决心,然后根据他们的回答采取所需的行动,然后恢复原始事件。因此,作为我的想法的代码示例:我有这段代码:

var executingEvent;
function someFunction() {
...
if(existUnsavedChanges) {
showConfirmMessage();
executingEvent = window.event;
if (executingEvent.stopPropagation) { executingEvent.stopPropagation(); } else { executingEvent.cancelBubble = true; }
...
}
}

以后有没有办法做这样的事情?

raise (executingEvent);

听起来有点复杂,我也欢迎其他选择:)

最佳答案

触发事件使用

elem.dispatchEvent(事件)

elem 是您在 DOM 中绑定(bind)到或低于它的元素(因此它会向上冒泡)。

当然,如果您已经停止传播,事件将不会冒泡,因此您可能需要创建一个新的事件对象。

var ev = document.createEvent("Event");
ev.initEvent(type, true, true);
ev.origEv = originalEvent;
elem.dispatchEvent(ev);

关于javascript - 是否可以将 "hold"事件设置为稍后触发?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7979563/

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