?Internet Explorer 和 Jquery 的 $( "document" ).ready()是否存在已知问题?


这是一个

通用问题,所以这个问题中没有真正的任何代码。

我在IE9(实际上是任何版本的IE)中运行特定的jquery脚本时遇到问题

最烦人的是,它似乎被轻微击中或错过,这使得调试变得非常困难。

在FF和Chrome中,它完全没有问题。

但在 IE 中,脚本仅在按 F5 刷新时运行。

显然我正在使用

$("document").ready(function() {
    alert("start control script");
    // lots more code here
};

通过观察,似乎一旦我运行了一次脚本,如果我随后注销并重新登录,一切都很好。但是如果我完全关闭浏览器,我又需要按 F5 才能启动脚本。这只发生在IE中。

我想一旦我刷新并注销,它就会起作用,因为当我完全关闭浏览器时会丢失某种缓存。

欢迎任何想法。

你写错了,document是一个全局对象,不需要用引号括起来。

$(document).ready(function() {
    alert("start control script");
    // lots more code here
});

请注意单词document周围缺少引号,末尾缺少括号。

您不需要引号中的文档,最后也缺少括号)

$(document).ready(function() {
    alert("start control script");
    // lots more code here
});

来自 jQuery 文档:

以下三种语法都是等效的:

$(document).ready(handler)
$().ready(handler) (this is not recommended)
$(handler)

还有$(document).bind("ready", handler),从jQuery 1.8开始被弃用。其行为类似于 ready 方法,但如果 ready 事件已经触发并且您尝试 .bind("ready"),则不会执行绑定处理程序。以这种方式绑定的就绪处理程序在上述其他三种方法的任何绑定之后执行。

.ready() 方法只能在与当前文档匹配的 jQuery 对象上调用,因此可以省略选择器。

.ready() 方法通常与匿名函数一起使用:

$(document).ready(function() {
  // Handler for .ready() called.
});

这相当于调用:

$(function() {
 // Handler for .ready() called.
});

如果在 DOM 初始化后调用 .ready(),传入的新处理程序将立即执行。

相关内容

最新更新