繁体   English   中英

jQuery document.ready被解雇,但未找到元素

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM