【发布时间】:2015-04-19 03:45:42
【问题描述】:
我正在开发一个 JS 项目,我需要一些弹出窗口,问题是当在 ajax 调用后弹出弹出窗口时,浏览器会阻止它,但如果我在用户点击它时直接制作它正在工作好吧。
浏览器会阻止这个:
$.ajax({
url: url
}).done(function(data) {
showPopup();
});
虽然浏览器会允许这样做:
$('#but').click(function(evt) {
showPopup();
});
【问题讨论】:
-
在 ajax 开始时启动弹出窗口,在结束时更新它。
-
请在jsfiddle.net。
-
您是否考虑过灯箱或模式,或者这不是一个选项?
-
@dandavis,如果找不到另一个解决方案,我会考虑该解决方案。
-
你不会找到另一个,除非你使用同步 ajax:对 window.open 的调用需要调用堆栈中的交互事件,否则它不会触发。您的弹出窗口首先应该说“正在加载...”,然后在数据可用时更新。
标签: javascript jquery ajax