JavaScript 中的event事件对象 (javascript红皮书二刷 - Ch13.3 事件对象)

红皮书中对事件对象的描述:

触发DOM事件时会产生一个 event 事件对象并传入到事件处理程序中。

获取事件类型 type

需要一个函数处理多个事件时, 可以使用 event 对象的 type 属性, 实例代码如下:

var btn = document.getElementById("btn")
var handler = function(event) { // 将event设置为函数参数即可传入数据
	switch(event.type) {
		case "click":
			console.log("clicked")
			break
		case "mouseover":
			console.log("mouseover")
			break
		case "mouseout":
			console.log("mouseout")
			break
	}
}

btn.onclick = handler
btn.onmouseover = handler
btn.onmouseout = handler

取消默认事件的方法

有时默认的标签会进行一些自带的事件和操作, 执行 preventDefault() 方法方可阻止默认事件的发生。

var link = document.getElementById("myLink")
link.onclick = function(event) {
	event.preventDefault()
}

取消事件往上级传递

body 内部的 button 被点击, 点击事件将会一级一级往上传递到 body 中。

var btn = document.getElementById("btn")
btn.onclick = function(event) {
	event.stopPropagation()
}

document.body.onclick = function() {
	console.log("clicked")
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值