文章导读
大家好,我是苏承栈。今天我们来聊聊JavaScript中阻止默认事件的小技巧,比如e.preventDefault()和e.returnValue=false。这些技巧在处理表单提交、链接跳转等场景时非常实用。读完这篇文章,你将能熟练运用这些方法来控制事件的默认行为。1. e.preventDefault():阻止默认行为
首先,我们来看看e.preventDefault()。这个方法可以阻止事件的默认行为。比如,对于一个checkbox,点击后通常会在框内显示一个勾勾。如果我们使用e.preventDefault(),就可以阻止这个默认行为,让勾勾不会出现。下面是一个简单的例子:var _dom = document.getElementById("testEvent");
_dom.addEventListener('click', e=>{ e.preventDefault(); });
再比如,对于文本输入框,我们通常可以在输入框内看到输入的内容。如果我们阻止了keypress事件的默认行为,那么输入框就会变成空空如也。下面是一个例子:
var _dom = document.getElementById("testEvent");
_dom.addEventListener('keypress', e=>{ e.preventDefault(); });
除了这些,e.preventDefault()还可以用来阻止a标签的跳转、form表单的提交等默认行为。
2. e.returnValue=false:兼容性处理
在早期的IE浏览器中,并没有e.preventDefault()这个方法。这时候,我们可以使用e.returnValue=false来达到相同的效果。不过,要注意的是,这个方法在最新的IE浏览器中已经不再推荐使用。下面是一个兼容性处理的例子:var _dom = document.getElementById("testEvent");
_dom.addEventListener('click', e=>{ if (e.preventDefault) { e.preventDefault(); } else { e.returnValue = false; } });
