jquery卸载/绑定(bind)可靠的跨浏览器解决方案

标签 jquery bind

我有以下代码替代方案,但都不满意。我正在使用 jQuery 1.7.2

第一个在 Firefox 中是完美的,但在 IE9 中它会发布但没有完成写入数据库的操作。我试图按照其他人的建议将其设置为 ASYNC false,但奇怪的是,这似乎没有任何区别。它可能也无法在其他浏览器中工作。

第二个确实完成,但弹出一个确认关闭页面对话框。我已经看到了有关如何阻止这种情况的建议,但我无法达到相同的结果。

有人可以给我提供替代方案吗?或者给我正确的 ASYNC 错误代码,该代码适用于 IE9 和第一个?或者告诉我如何正确防止确认关闭?

// Sends the post but does not complete the post in IE9
jQuery(window).unload(function() {
jQuery.post(
    MyAjax.ajaxurl, etc

// works in IE 9 but throws up a confirm dialog box
jQuery(window).bind("beforeunload", function() { ...
jQuery.post(
    MyAjax.ajaxurl, etc

最佳答案

只是不要每次触发 jQuery(window).scroll 时都发布。仅当用户停止滚动时发布。像这样:

function sendQuery() {
    console.log('scrolled');
}

var scrollTimeout = null;
$(window).bind('scroll', function() {
    if (window.scrollTimeout) {
        clearTimeout(window.scrollTimeout);
    }
    window.scrollTimeout = setTimeout(sendQuery, 200);
})

还有一个活生生的例子 - http://jsfiddle.net/AJnk4/

关于jquery卸载/绑定(bind)可靠的跨浏览器解决方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11238190/

相关文章:

javascript - CakePHP 从表单中获取数据

JQuery 将点击事件绑定(bind)到复选框

javascript - 不再需要在 React 组件类中绑定(bind)函数了吗?

c++ - 在 OpenGL 中绑定(bind)超过 MAX_TEXTURE_UNITS 个纹理

javascript - 检测 DOM 元素顺序的变化

javascript - 检索 XML 文档中的 HTML 元素

php - jQuery 手机 : panel open not triggered after page navigation

javascript - 将对象转换为对象的对象

javascript - 关于 Function.prototype.bind() 的困惑

c# 将 winforms 图表绑定(bind)到对象列表