事件绑定onclick 与事件监听addEventListener 的区别

事件绑定与事件监听的区别

事件绑定:同一个对象,进行多次事件绑定,则后绑定的事件会覆盖之前绑定的事件,总之只能执行最后一个事件. -------- onclick

事件监听:同一个对象,进行多次事件监听,都会执行 -------addEventListener

示例如下:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
	</head>
	<body>
		<ul>
			<li data-id=1>1</li>
			<li data-id=2>2</li>
			<li data-id=3>3</li>
			<li data-id=4>4</li>
		</ul>
	</body>
	<script>
		//事件绑定:同一个对象,进行多次事件绑定,则后绑定的事件会覆盖之前绑定的事件,总之只能绑定最后一个事件
		let ul = document.querySelector('ul');
		ul.onclick = function(e){
    
       // 由于被覆盖,不会执行,
			let {
    
    target} = e;
			let id = target.dataset.id;
			console.log(`事件绑定:给ul绑定的第一个事件,${
    
    id}`)
		}
		
		ul.onclick = function(e){
    
        // 会执行,
			let {
    
    target} = e;
			console.dir(target);
			let id = target.dataset.id;
			console.log(`事件绑定:给ul绑定的第二个事件,${
    
    id}`)
		}
		
		
		//事件监听:同一个对象,进行多次事件监听,都会执行
		ul.addEventListener('click',function(e){
    
       // 会执行,
			let {
    
    target} = e;
			console.dir(target);
			let id = target.dataset.id;
			console.log(`事件监听:监听ul的第一个事件,${
    
    id}`)
		})
		ul.addEventListener('click',function(e){
    
       // 会执行,
			let {
    
    target} = e;
			console.dir(target);
			let id = target.dataset.id;
			console.log(`事件监听:监听ul的第二个事件,${
    
    id}`)
		})
	</script>
</html>

点击后执行如下
在这里插入图片描述

Guess you like

Origin blog.csdn.net/yiyueqinghui/article/details/118566313