`
zhouyrt
  • 浏览: 1159186 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

元素内联事件的真相

阅读更多

引子

是JS1群中的Mead Lai提出的问题,如下

<!DOCTYPE HTML>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Test case</title>
</head>
<body>

<input type="button" onclick="open();" value="Click me" />
<a href="javascript:open();">Click me</a>

<script type="text/javascript">   
    function open(){
        alert(5);
    }
</script>

</body>
</html>

 
为何点击按钮和链接后的效果不一样?点击按钮后页面重载入了,点击链接弹出了5。

部分人(一些有经验的)测试后没找到根本原因,惊喜的发现了open是一个全局方法(window上的)。
把原因归结为不该命名为与window.open同名。认为这样会产生诡异的现象,然后就上升到命名问题,大肆喧哗这样的同名讨论没意思,没必要---因为根本不会这么写。

是的,不应该这么写。但真相呢?

 

分析

完整分析在这:http://www.w3help.org/zh-cn/causes/SJ9009

慢慢品 w3help 精彩,详细的分析。答案尽在其中..

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    元素的内联事件处理函数的特殊作用域在各浏览器中存在差异

    内联事件处理函数的作用域链并非遵循常规的JavaScript作用域规则,而是与元素、DOM结构以及浏览器的实现细节紧密相关。 首先,内联事件处理函数的作用域链有一个独特的结构。在执行时,它通常包含以下几个部分: 1...

    什么是块元素block和内联元素inline

    ### 什么是块元素(block)和内联元素(inline) 在HTML中,元素根据其默认显示方式被分为两大类:块元素(block elements)和内联元素(inline elements)。了解这两种元素的区别对于网页布局和样式设计至关重要。...

    css块状元素与内联元素以及inline-block

    CSS 块状元素、内联元素和 inline-block elementos CSS 中的块状元素(Block Elements)和内联元素(Inline Elements)是两种基本的元素类型,它们在网页布局和样式设计中扮演着非常重要的角色。块状元素和内联元素...

    CSS文档流与块级元素(block)内联元素(inline)那点事

    CSS文档流与块级元素(block)内联元素(inline)那点事

    CSS文档流与块级元素(block)、内联元素(inline)

    ### CSS文档流与块级元素(block)、内联元素(inline)详解 #### 一、文档流的概念 在深入探讨块级元素与内联元素之前,我们首先要理解**文档流**的基本概念。文档流是指HTML文档中元素按照一定规则排列的方式。在...

    css 块状元素和内联元素

    在CSS布局中,块状元素和内联元素是构建网页结构的基础,理解它们的特性对于创建有效的页面布局至关重要。块状元素(Block-level Elements)和内联元素(Inline Elements)在HTML文档中扮演着不同的角色。 块状元素...

    块状元素与内联元素大全

    ### 块状元素与内联元素大全 在HTML中,根据元素的默认显示方式,可以将所有的HTML标签大致分为两大类:块状元素(Block-level Element)与内联元素(Inline Element)。这两种类型的元素在网页布局中扮演着重要的...

    OnEventMixin:自定义元素的老式内联事件处理程序属性和属性

    只需一个简单的mixin,即可将老式的内联事件处理程序属性和属性添加到自定义元素中! 默认情况下,内联事件处理程序属性仅适用于(例如onclick用于click事件, onchange用于change事件),但是使用OnEventMixin可以...

    网页制作过程中块元素与内联元素ppt

    个人主页:www.xmqisheng.com 包含了曾经讲网页过程中的块元素与内联素区别时的知识点课件。

    获取元素内联样式、偏移量.md

    获取元素节点行内样式、内联样式、外链样式(兼容性问题)、获取元素在页面上的偏移量(有定位和没有定位的注意点)、附代码演示。

    html 内联元素和html 块级元素概述及区别

    2. 内联元素内部可以包含块级元素,虽然不常见,但这样做可以改变内联元素的高度,比如在一个`&lt;a&gt;`标签中嵌套一个`&lt;div&gt;`。 了解这些基本概念后,开发者可以更有效地利用HTML和CSS来构建网页,实现所需的布局效果。...

    块级元素和内联元素及可变元素汇总

    **可变元素**(Variable Elements)是一类特殊元素,它们的行为取决于上下文环境,既可能表现为块级元素,也可能表现为内联元素。例如,`&lt;button&gt;`元素在某些情况下可以作为块级元素独立显示,而在其他情况下可以...

    内联函数-14.08.25

    ### 内联函数详解 #### 一、内联函数概述 内联函数是C++语言中的一个重要特性,它主要用于提高程序的运行效率。通过在函数调用处直接嵌入函数体,内联函数避免了传统函数调用带来的额外开销(如参数压栈、返回地址...

    浅谈CSS块级元素与行内元素(内联元素)的区别和联系

    块元素(block element)一般是其他元素的容器元素,能容纳其他块元素或内联元素。最常见的就是P和div这两个,说的简单点,块元素就好比一个四方块,可以放其他的四方块,并可以呈现在页面上任何地方。默认情况下块...

    ARM GCC 内联汇编参考手册

    ### ARM GCC 内联汇编参考手册解析 #### 关键知识点概述 本手册主要介绍了如何在C语言中使用GCC提供的内联汇编功能来编写针对ARM架构的代码。内联汇编是一种强大的技术,允许开发者在C代码中插入低级汇编指令,...

    在Visual_C++中使用内联汇编

    ### 在Visual C++中使用内联汇编:深入解析与应用 #### 一、内联汇编概述 在计算机编程领域,特别是在C/C++中,内联汇编是一种特殊的编程技术,它允许开发者直接在高级语言中嵌入汇编语言代码。这种方式的主要优势...

    sql语句的内联外联 经典面试题

    SQL语句的内联外联经典面试题 SQL语句的内联外联是一种常见的数据库查询技术,它可以根据不同的...Iterator和ListIterator是Java中两个常见的迭代器,Iterator只能用来遍历序列中的元素,而ListIterator可以双向移动。

    asm.rar_vb.net 内联汇编_内联汇编插件

    内联汇编是编程语言中一个重要的特性,它允许程序员在高级语言中直接插入汇编代码,以便进行底层性能优化或者解决某些特定问题。在VB.NET(Visual Basic .NET)中,虽然它主要是一个高级面向对象的语言,但通过内联...

Global site tag (gtag.js) - Google Analytics