[英]jQuery document.ready fired but elements aren't found
我有一个仅在特定计算机(FFX 3.6.13,Windows 7,jQuery 1.4.3)上发生的问题。 有时会触发document.ready,但在尝试获取要附加事件处理程序的元素时,该元素不存在!
代码如下所示:
$(function(){
window.initStart = true;
$("#id_of_element").click(function()...);
window.initEnd = $("#id_of_element");
});
window.initStart / End在那里进行调试,有时此代码运行良好,但有时window.initEnd只是一个空的jQuery集(长度== 0)。 这意味着document.ready总是被触发,但是有时在元素可用之前就被触发。
有人有这个问题吗? 可能是什么问题?
您可以尝试解决此问题的一种方法是使用.live而不是.click。 以下代码
$('#idOfDiv').live('click', function() { doStuff(); });
会将输入函数附加到点击后的事件上,该事件会被放置在页面上,而该事件会被放置在页面上,其ID为'idOfDiv'。 尽管.click立即执行,但无论div何时进入页面,都应将其附加。
干杯
在SitePoint上有一篇文章 ,演示了如何感测某些dom元素何时可用。
我也知道这是特定于版本的问题,但是如果您使用的是Jquery 1.5,则延迟对象的内容在这里会很有用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.