1

这是一个通用问题,因此实际上没有任何代码可以在此问题中显示。

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

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

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

但在 IE 中,脚本只有在按 F5 刷新时才会运行。

显然我正在使用

$("document").ready(function() {

    alert("start control script");
    // lots more code here
};

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

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

欢迎任何想法。

4

3 回答 3

2

你写错了,它document是一个全局对象,不需要引号。

$(document).ready(function() {

    alert("start control script");
    // lots more code here
});

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

于 2012-11-24T20:35:25.653 回答
1

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

$(document).ready(function() {

    alert("start control script");
    // lots more code here
});
于 2012-11-24T20:37:10.207 回答
1

来自 jQuery 文档:

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

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

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

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

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

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

这相当于调用:

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

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

于 2012-11-24T20:37:54.917 回答