在phpor的博客上看到一篇文章:
http://phpor.net/blog/post/779/
有这么一段代码:
<input type="text" id="name" />
<input type="text" id="password" />
<script>
var $ = function (id) { return document.getElementById(id);};
$("name").focus();
$("name").blur();
$("name").onfocus = function () {alert('haha');}
</script>
<input type="text" id="name" /> <input type="text" id="password" /> <script> var $ = function (id) { return document.getElementById(id);}; $("name").focus(); $("name").blur(); $("name").onfocus = function () {alert('haha');} </script>
如果运行在FF下面,像我们期望的那样,在页面载入后,不会立即alert的,但是,在IE7中,页面载入后立即就是一个alert。 显然onfocus事件的绑定被提前做了,不知道为什么。
可恶的IE7!!!
感觉像是onfocus提前执行了,如果将onfocus放在闭包中执行,由于要使用作用域链,就不会出现提前的情况了,谁能解释一下IE这么做的原因?
分享到:
相关推荐
### JavaScript执行顺序详解 #### 一、HTML文档流与JavaScript执行顺序 JavaScript作为一种网页脚本语言,其执行顺序直接影响到脚本的运行效果和页面的行为。理解JavaScript代码是如何按照顺序被执行的是开发高...
ie不执行javascript修复ie不执行javascript修复ie不执行javascript修复 当IE不能正常运行时,打开该工具就可以了,自动修复
描述中提到的“发现IE下,点击JavaScript链接不响应”,这是一个常见的问题,可能是由于浏览器设置、安全软件限制、JavaScript引擎故障或恶意软件干扰等原因导致的。为了解决这个问题,开发者或技术爱好者可能会编写...
然而,在不同的浏览器环境下调试JavaScript代码却是一项挑战,尤其是在早期版本的Internet Explorer(以下简称IE)中。由于IE本身缺乏像Firefox那样丰富的开发者工具和插件支持,这使得开发者往往需要采用一些更为...
JavaScript是Web开发中不可或缺的一部分,而作为曾经主流的浏览器,Internet Explorer(IE)提供了自己的JavaScript调试工具,使得开发者能够有效地追踪和解决代码中的问题。在IE的JavaScript调试工具中,有多个关键...
#### 一、JavaScript执行顺序概览 JavaScript作为一种广泛应用于Web开发的编程语言,其执行过程对于理解程序的行为至关重要。在深入探讨JavaScript的执行过程前,我们先来看一下HTML文档中JavaScript代码的执行顺序...
IE启用javascript IE启用javascript IE启用javascript IE启用javascript IE启用javascript
这个问题可能是因为 IE 在 `document.write()` 时,并未等待加载 SRC 中的 JavaScript 代码完毕后,才执行下一行,所以导致 2 先弹出,并且执行到 `document.write('alert("我是" + tmpStr)')` 调用 tmpStr 时,...
了解JavaScript的执行顺序对于优化网页性能和避免潜在的错误至关重要。以下是对这一主题的详细解释。 首先,HTML文档遵循自上而下的解析规则。浏览器在遇到`<script>`标签时会暂停HTML的解析,转而执行脚本内容。...
安装后,该插件应能在IE浏览器中自动集成,提供一个直观的用户界面来调试JavaScript代码。 在使用这类工具时,开发者需要注意以下几点: 1. **兼容性**:确保插件与所使用的IE浏览器版本兼容,因为不同版本的IE...
以一个示例来解释脚本执行顺序,我们可以考虑两个JavaScript文件(1.js和2.js)的加载。当这两个文件通过`<script>`标签按顺序引入时,无论它们是否并行下载,1.js总是在2.js之前执行。这可以通过延迟发送文件内容的...
IE浏览器上,按下标题中指示的快捷键,神奇出现了,你的脚本在页面上执行了!!下面的脚本可在CSDN登录页面输入帐号密码,赶快试一试吧: var fm=document.frames["logfrm"].document.logform; fm.u.value="username...
如果说,JavaScript引擎的工作机制比较深奥是因为它属于底层行为,那么JavaScript代码执行顺序就比较形象了,因为我们可以直观感觉到这种执行顺序,当然JavaScript代码的执行顺序是比较复杂的,所以在深入JavaScript...
在标准模式下,IE8及以下版本不支持通过`setAttribute`直接为元素添加事件监听器,这与现代浏览器如Chrome和Firefox存在差异。为了确保兼容性,通常推荐使用`addEventListener`方法为元素添加事件监听器,但由于IE8...
"兼容多种IE的javascript日期控件"这个主题就是针对这个问题的一个解决方案。它是一个经过改造的calendar日期控件,旨在确保在不同版本的Internet Explorer(如IE6、IE8、IE9)中能够正常运行,尽管在Google浏览器中...
在Web开发中,事件绑定是客户端编程的一个基础功能。...在JavaScript中,有两种常见的事件绑定...这样,无论是在旧版IE浏览器还是现代浏览器中,事件处理函数都能够按照绑定顺序依次执行,从而避免了执行顺序混乱的问题。
在ASP.NET开发中,JavaScript代码的执行顺序对于确保页面逻辑正确运行至关重要。本文将详细介绍ASP.NET环境中不同位置JavaScript代码的执行顺序,帮助开发者更好地理解和掌握这一机制。 #### 1. `<head>`标签中的JS...
useless.js 是一个轻量级的JavaScript库,其主要功能是帮助开发者管理异步操作的并发和执行顺序。在现代Web应用中,由于Ajax、Promise、async/await等技术的广泛应用,异步编程变得越来越常见,同时也带来了挑战,如...
### IE Javascript脚本失效解决办法 #### 一、问题背景 在使用Internet Explorer(以下简称IE)浏览器时,可能会遇到JavaScript脚本失效的情况。这不仅会影响网页的正常展示,还可能导致某些交互功能无法正常使用...