如何在kendoContextMenu的Select事件触发时立即弹出alert?
你可以通过将alert包装到异步任务中,绕过同步代码的阻塞,实现点击选项时立即弹出弹窗:
方案1:使用setTimeout(宏任务)
select: function (e) { setTimeout(() => { alert("Test Alert"); }, 0); // MY CODE }
方案2:使用Promise微任务
select: function (e) { Promise.resolve().then(() => { alert("Test Alert"); }); // MY CODE }
原理说明
JavaScript是单线程执行模型,当select回调触发时,所有同步代码会被优先执行完毕。如果你的//MY CODE是同步的耗时操作,浏览器会先跑完这些代码,才会处理alert的UI渲染。把alert放入异步任务队列后,浏览器会优先处理弹窗任务,再继续执行后续同步代码,就能实现即时弹出的效果。
内容的提问来源于stack exchange,提问作者antbor22
相关产品推荐
相关产品推荐

