关于原生js事件

js事件分为事件冒泡和事件捕获

事件捕获:事件从最不精确的对象(document 对象)开始触发,然后到最精确(也可以在窗口级别捕获事件,不过必须由开发人员特别指定)

事件冒泡:事件按照从最特定的事件目标到最不特定的事件目标(document对象)的顺序触发。

放一张示例图以便理解
在这里插入图片描述
js 事件绑定的三种方法
1.嵌入dom

<div onclick="start()">按钮</div>
<script>
function start(){
	alert('1')
}
</script>

2.直接绑定

<button id="btn">按钮</button>
<script>
document.getElementById('btn').onclick = function(){ //直接把事件通过id的方式绑定到dom上
	alert('1')
}
</script>

3.事件监听

//事件监听,顾名思义,通过addEventListener注册一个类似于监听者的函数,只要当绑定的元素触发事件,就会调用第二个参数的函数
<button id="btn">按钮</button>
<script> 
document.getElementById('btn').addEventListener('click',function(){
	alert(1) 
})
//兼容IE
document.getElementById('btn').attachEvent('click',function(){
	alert(1)
})
</script>

另外一个概念叫事件委托

对“事件处理程序过多”问题的解决方案就是事件委托。事件委托利用了事件冒泡,只制定一个事件处理程序,就可以管理某一类型的所有事件。例如click事件一直会冒泡到document层。也就是我们可以只指定onclick事件处理程序,而不必给每个事件分别添加处理程序。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值