javascript - 关闭灯箱有时会比输入时的 onblur() 更快
问题描述
我在on blur()
输入上运行此代码。只要您不单击任何将您带到不同页面或关闭加载 ajax 函数和输入的灯箱(叠加层中的 div)的任何内容,它就可以很好地工作,因为 ajax 脚本有可能将被中止。我知道如果关闭浏览器窗口可能很难确保内容已保存on blur()
,但有什么办法可以等到 ajax 请求(和任何链接点击)完成后再关闭灯箱(或移动在不同的页面上)?
我想另一种选择是on input()
代替/以及on blur()
,但是后来我收到了很多ajax请求并且需要开始节流对吗?我的灯箱插件(fancybox)有一个名为 的事件beforeClose
,我可以在其中运行一些东西来检查是否发送了 ajax 请求吗?
如果我想错了,请告诉我。我知道 async false 并不是真的推荐,但也许我需要什么?
$.ajax({
type: "POST",
dataType: "json",
url: "?a=ajax",
data: { value: $self.val() },
error: handleError
}).done(function(data) {
if( data == "0" )
{
// no success
}
else
{
// success
}
});
解决方案
推荐阅读
- sql - 如何仅使用日期部分加上 SQL 中的硬编码时间将日期时间列转换为另一列
- command-line - ffmpeg 图像到具有不同开始时间和持续时间的视频
- java - 预先触发 propertyChangeEvent 的危险
- python - 使用 python 子进程调用处理通配符扩展
- r - R在lme中绘制边际效应
- java - Spring Boot - 使用自定义 PreAuthorize 表达式和身份验证测试 Rest Api
- media-queries - Bootstrap 的断点是否用于在不同视口大小上垂直堆叠 div?
- python - 夹具上的 py.test 补丁
- ios - Phonegap iOS App 中的 Google Maps API3 上缺少控件
- javascript - 宏伟的弹出窗口 - onclose