【问题标题】:Does live Change still not work in IE 8 with jquery 1.4.2?在带有 jquery 1.4.2 的 IE 8 中,live Change 仍然不能工作吗?
【发布时间】:2011-06-04 10:20:04
【问题描述】:

我听说这个问题在 jquery 1.4.2 中得到修复,但我仍然遇到这个问题。我正在使用

"~/Plugins/jquery-1.4.2.js" 

我有这个

$('#id').live('change', function (e)
{
  // do stuff
});

它适用于 Firefox 3.6,但不适用于 8。

【问题讨论】:

  • 令人惊讶,它对我有用
  • "~/Plugins/jquery-1.4.2.js" 是您在脚本标签中写入的内容以包含 js 文件吗?
  • naw 位于某个 xml(用于将所有 js 文件组合在一起)文件中,这就是路径的编写方式。我很确定这是正确的路径,否则我的网站将无法运行(带走 jquery,我的网站无法运行)

标签: jquery jquery-1.4


【解决方案1】:

您必须使用delegate 函数而不是live 它将解决问题。例如:

$('body').delegate("#selectpage","change", function() {
      alert("Changed!");
});

【讨论】:

    【解决方案2】:

    change 事件在所有浏览器(包括 IE6+)中都非常适合我。

    看看下面的小提琴http://jsfiddle.net/EsVR3/

    您在哪个元素上使用“更改”事件?

    马尔科

    【讨论】:

    • 是的,即使我更改为下拉列表,我也看到它对您有效。这很奇怪,不知道为什么它不起作用。就像我说的它在Firefox中工作没问题。我将其更改为实时查询,并且效果也很好。
    • 所以我的一个适合你,但你不能让它在你的网页上工作?您是否将代码包装在 $(document).ready() 事件中?
    • 是的。我把它放在一个 document.ready() 中,就像我说的适用于除 IE 8 之外的所有浏览器。我尝试了 jquery 的本地主机并托管在 google 上仍然无法正常工作。我用 jquery livequery 插件包装了我的活动,它适用于 IE8 和所有浏览器。
    • 是的,您的作品很好,我尝试将其更改为下拉列表,它也可以使用。就像我说的,我不知道发生了什么。
    • 嗯,这很奇怪 - 如果你愿意,可以将代码发布到 jsFiddle 或 pastebin 上,我可以帮你看看。
    猜你喜欢
    • 1970-01-01
    • 2012-09-06
    • 1970-01-01
    • 1970-01-01
    • 2011-10-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多