【问题标题】:jQuery event handler doesn't work or doesn't fire only on first page load, but works after inspecting the dom after a refreshjQuery 事件处理程序不起作用或仅在第一页加载时触发,但在刷新后检查 dom 后起作用
【发布时间】:2013-01-03 21:50:24
【问题描述】:

我遇到了 ie9 和 jQuery 的问题。

在 Chrome、Firefox 和 Opera 中,我的点击事件适用于锚标记,但在 IE9 中,该事件无法触发或发生某些事情。它只发生在我没有缓存的第一页加载时,它不起作用。

我单击一个链接,但没有菜单淡入,但是当我刷新页面并使用 f12 开发人员工具检查它时,它可以工作。

这很奇怪,在检查 dom 后可以在所有其他浏览器和 IE9 中使用。感谢您的帮助。

查看页面后,我有相同类型的事件注册到另一组在 ie9 中可以正常工作的链接。

我认为这个选择器有问题:

   var catTopSelector= '#pc_lhs_top_ul > li:not( #main_menu_top )';
   var catBottomSelector= '#pc_lhs_bottom_ul > li:not( #main_menu_bottom )';

由于某种原因,它仅在检查后才有效。适用于所有其他浏览器。

更新答案:

好的,我找到了原因。我在动画之前的代码中有一个console.log,并且因为控制台仅在调试器打开时才可用,它会在动画之前崩溃。再次感谢大家。

【问题讨论】:

  • 你能发布你的代码吗?你有任何错误吗?
  • 我没有收到任何错误,当我尝试查看控制台并检查它时,它工作正常。但最初的点击没有。
  • google了一下,好像ie9有child selector bug?
  • 你的代码中有异步调用吗?
  • 请将您的解决方案发布为答案而不是更改您的问题,然后您可以接受该答案,以便将来的用户可能会得到帮助

标签: jquery cross-browser internet-explorer-9


【解决方案1】:

好的,我找到了原因。我在动画之前的代码中有一个 console.log,并且因为控制台仅在打开调试器时可用,所以它会在动画之前崩溃!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-22
    • 2016-08-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多