js中阻止冒泡和阻止默认事件
文章类型:Javascript
发布者:hp
发布时间:2023-05-22
在开发过程中,有时候需要阻止冒泡,有时候需要阻止默认事件
1:冒泡:当一个元素上触发了某个事件(如点击事件),事件会从该元素开始向上冒泡,逐级触发其父元素的相同事件
2:默认事件:通常是指浏览器对特定事件的默认处理方式,比如点击链接时跳转、提交表单时刷新页面等
1:阻止冒泡
A:通过event.stopPropagation()
const parentElement = document.getElementById('parent');
const childElement = document.getElementById('child');
childElement.addEventListener('click', (event) => {
console.log('Child clicked');
event.stopPropagation();
});
B:通过event.cancelBubble (火狐不兼容)
event.cancelBubble = true;
C:暴力方案
return false;
2:阻止默认事件
A:通过event.preventDefault()
const linkElement = document.getElementById('myLink');
linkElement.addEventListener('click', (event) => {
event.preventDefault();
console.log('Link clicked, but default behavior is prevented.');
});
B:event.returnValue,(部分浏览器支持)
event.returnValue=false;
C:暴力方案
return false;
1:阻止冒泡采用event.stopPropagation(),阻止默认事件采用event.preventDefault()