阻止默认事件
默认事件是指浏览器在某些用户交互后会自动执行的操作。例如,点击链接会导航到新的页面,提交表单会刷新页面。
使用 preventDefault()
preventDefault() 方法可以阻止浏览器执行默认行为。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Stop Propagation and Prevent Default</title>
</head>
<body>
<div id="parent" style="padding: 50px; background-color: lightblue;">
Parent
<a href="https://www.example.com" id="link" style="display: block; margin-top: 20px;">
Go to Example.com
</a>
</div>
<script>
const parent = document.getElementById('parent');
const link = document.getElementById('link');
parent.addEventListener('click', () => {
alert('Parent clicked');
});
link.addEventListener('click', (event) => {
event.preventDefault(); // 阻止链接的默认跳转行为
event.stopPropagation(); // 阻止事件冒泡
alert('Link click prevented and event propagation stopped');
});
</script>
</body>
</html>
在上述代码中,点击链接时不会触发父元素的点击事件,也不会导航到新的页面,因为事件冒泡和默认行为都被阻止了。