jQuery单击事件并不总是触发

jQuery单击事件并不总是触发,jquery,Jquery,我们有几个按钮和复选框,它们在document.ready中为它们定义了jQuery click事件,用于执行ajax回调。在我们的测试服务器上,它们在所有主要浏览器(IE、FF、Safari和Chrome)中都能正常工作。我们在服务器上记录足够的信息,以确定它们是否正确启动 然而,在非常罕见的情况下,我们在生产中发现,他们显然没有为一些随机用户开火,但我们自己无法接近重现这个问题 我们知道Javascript是为这些用户启用的。我们已经看到了IE8和Safari的问题,但是它没有出现足够的次数

我们有几个按钮和复选框,它们在document.ready中为它们定义了jQuery click事件,用于执行ajax回调。在我们的测试服务器上,它们在所有主要浏览器(IE、FF、Safari和Chrome)中都能正常工作。我们在服务器上记录足够的信息,以确定它们是否正确启动

然而,在非常罕见的情况下,我们在生产中发现,他们显然没有为一些随机用户开火,但我们自己无法接近重现这个问题

我们知道Javascript是为这些用户启用的。我们已经看到了IE8和Safari的问题,但是它没有出现足够的次数来明确地将它与特定的浏览器/版本关联起来

我们目前使用的是jQuery版本1.6.2


你知道是什么导致了这个问题吗

一种可能性是事件没有附加到DOM,因为Javascript是在DOM准备就绪之前执行的。确保处理程序是$document.ready wrapped。在应用程序中,用户是否可以在一个页面上触发多个事件?我所想的是,在他们尝试触发另一个ajax请求之前,第一个ajax调用可能还没有完成,而这一请求有时可以工作,有时不能。您是否使用.done、.defer.promise函数来确保在执行更多操作之前完成事件?在本地测试和生产环境中,您不会有可测量的延迟。单击在document.ready中定义。其中一次单击会附加到“提交”按钮。它要做的第一件事是检查隐藏变量的值,但这似乎没有触发。它使用async:false生成一个.ajax回调,该回调似乎也不会触发。也就是说,看起来第一个ajax调用根本没有启动,不是第一个调用正常,而是第二个调用失败。