许多事件会自动触发浏览器执行某些行为。
如果我们使用 JavaScript 处理一个事件,那么我们通常不希望发生相应的浏览器行为。而是想要实现其他行为进行替代。
阻止浏览器行为
有两种方式来告诉浏览器我们不希望它执行默认行为:
event
对象。有一个
event.preventDefault()
方法。
on<event>
(而不是
addEventListener
)分配的,那返回
false
也同样有效。
在下面这个示例中,点击链接不会触发导航(navigation),浏览器不会执行任何操作:
事件处理程序返回的值通常会被忽略。
唯一的例外是从使用
on<event>
分配的处理程序中返回的
return false
。
在所有其他情况下,
return
值都会被忽略。并且,返回
true
没有意义。
示例:菜单
考虑一个网站菜单,如下所示:
<ul id="menu" class="menu">
<li><a href="/html">HTML</a></li>
<li><a href="/javascript">JavaScript</a></li>
<li><a href="/css">CSS</a></li>
下面经过 CSS 渲染的外观: