gpt4 book ai didi

javascript - 取消后如何继续事件传播?

转载 作者:IT王子 更新时间:2023-10-29 02:56:57 25 4
gpt4 key购买 nike

当用户点击某个链接时,我想向他们展示一个确认对话框。如果他们点击"is",我想继续原来的导航。一个问题:我的确认对话框是通过返回一个 jQuery.Deferred 对象来实现的,该对象仅在/如果用户单击"is"按钮时才解析。所以基本上确认对话框是异步的。

所以基本上我想要这样的东西:

$('a.my-link').click(function(e) {
e.preventDefault(); e.stopPropogation();
MyApp.confirm("Are you sure you want to navigate away?")
.done(function() {
//continue propogation of e
})
})

当然,我可以设置一个标志并重新触发点击,但这太麻烦了。有什么自然的方法可以做到这一点?

最佳答案

令我惊讶的是,以下是在 Chrome 13 中实际运行的代码片段。

function handler (evt ) {
var t = evt.target;
...
setTimeout( function() {
t.dispatchEvent( evt )
}, 1000);
return false;
}

这不是很跨浏览器,也许将来会修复,因为感觉像是安全风险,恕我直言。

如果取消事件传播,我不知道会发生什么。

关于javascript - 取消后如何继续事件传播?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7811959/

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