要做一个动态的网页,那就必须要网页拥有动态的活动,因此对于网页上的DOM对象,我们需要获取其中的事件来做出相应的活动。
节点名.addEventListener('事件名', function () {});
利用此方法可以获取节点上发生的事件,并在之后的function中对事件做出反应。
具体事件如下
可以通过以上方法结合DOM操作中更改样式属性的方法,来实现动态化
事件冒泡
在JavaScript有一种情况,当你同时在父亲节点和子节点同时设置监听事件,当你触发了子节点的监听事件,父节点的事件也会被触发,这种现象叫做事件冒泡。
利用这种原理,我们可以实现事件委托—即点击任意子节点都能触发父亲节点的事件
当然,如果我们想阻止这样的情况也是可以的
likeBtn.addEventListener('click', function(e) {
// 点击事件
e.stopPropagation()//阻止冒泡
以此来解决问题
除了事件冒泡,JavaScript也存在事件捕捉
捕获和冒泡是完全相反的,冒泡是从当前元素沿着祖先节点往上冒泡,而捕获是从根 HTML 节点开始 依次移动到当前元素。
我们上面使用的addEventListener
是在冒泡阶段监听事件,如果想在捕获阶段监听事件,我们需要传
递第三个参数为true
, 代码如下
dom.addEventListener('click', function () {}, true);