当前位置:Gxlcms > JavaScript > JavaScript事件冒泡应用实例分析_javascript技巧

JavaScript事件冒泡应用实例分析_javascript技巧

时间:2021-07-01 10:21:17 帮助过:4人阅读

然而,在今天一些大型的WEB交互项目中,比如大型的WebGame项目,JavaScript事件冒泡影响是值得重视的。本文通过一个简单的例子来讲解JavaScript事件冒泡及使用注意事项。

如果你对JavaScript事件冒泡还没有什么印象,不妨先看看我之前写的一篇博客《JavaScript事件冒泡简介及应用》。本文讲究实用,不在对JavaScript事件冒泡基础知识进行过多的阐述。

在文章开始之前,现在先看看下面这样一个需求:下面HTML假设描述的是一个WebGame项目包裹栏(玩过网游的人应该知道什么是包裹栏或物品栏)的外框架,拖动这个包裹标题栏可以拖动这个包裹到页面上任何位置,而点击标题栏右侧的“×”关闭按钮可以关闭这个包裹栏的显示。你通过观察HTML结构,可以发现那个关闭按钮其实是一个A链接,而且是作为标题栏H5的子元素存在。要想拖动一个元素,我们会想到向拖动的句柄元素注册mousedown事件,而点击或“单击”关闭按钮就关闭这个包裹。根据这个需求,我们很快得到下面这样的代码。


[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]

在上面的例子中,你发现点击关闭按钮的时候,标题栏的mousedown事件也触发了,显然这是在你意料之中的,因为你知道这正是JavaScript事件冒泡在起作用。其实你真正要的效果是点关闭按钮的时候,不要执行标题H5注册的mousedown事件,于是你想到了阻止事件冒泡,接着代码修改成下面这样:
代码如下:


×