栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

IE8-内容加载后如何运行jquery代码?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

IE8-内容加载后如何运行jquery代码?

这是一个会影响IE6 7和8的错误。jQuery的文档就绪处理程序只有在IE 6 7和8中的窗口加载事件之前或之后才会触发。在IE9中不会发生。

解决它的一种方法是自己处理事件。

<body >    <!--[if lt IE 9]>    <script>        $('body').removeClass('jquerydomready');    </script>    <![endif]-->

然后在脚本中使用以下命令:

function init() {    // pre here will be ran when document is ready    $("body").css("background-color","green");}if ( $("body").is(".jquerydomready") ) {    $(init); // not oldIE}else {    // oldIE way    document.onreadystatechange = function() {        if (document.readyState == "interactive") init();        }​}

但是请记住,如果您正在执行ajax请求并期望它们能够快速发生,否则代码将无法正常工作,我建议您迁移到不需要它们快速发生的系统,因为您不能始终依赖网络快速。

票证:http :
//bugs.jquery.com/ticket/12282

目前,它实际上并未标记为错误,但是,如果您遵循此问题的历史记录,则在jQuery的整个开发过程中已对其进行了多次修复和未修复。

编辑:我不确定这个答案的IE6部分,我还没有对此进行过IE6测试。

这是支持性的JSFiddle,表明它在IE7和8中不正确地等待(再次在IE6中未测试)。

在上述修复之前:http :
//jsfiddle.net/PFWmS/

完成上述修复后:http :
//jsfiddle.net/PFWmS/7



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/406810.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号