MDN Web 技术文档 - event.preventDefault

简介:  event.preventDefault在本文章中概述语法例子备注规范概述如果事件对象的cancelable属性为true,则该方法可以取消事件的默认动作.


概述

如果事件对象的cancelable属性为true,则该方法可以取消事件的默认动作.但并不取消事件的冒泡行为.

语法

event.preventDefault();

例子

点击一个复选框时,触发click事件.该事件的默认动作是切换复选框的选择状态.下例演示了如何取消这个默认动作的发生:

<!DOCTYPE html>
<html>
<head>
<title>preventDefault example</title>
</head>
<body>
<p>请点击下面的复选框.</p>
<form>
<input type="checkbox" id="my-checkbox" />
<label for="checkbox">Checkbox</label>
</form>
<script>
    function stopDefAction(evt) {
        alert("preventDefault会阻止该复选框被勾选.")
        evt.preventDefault();
    }
    
    document.getElementById('my-checkbox').addEventListener(
        'click', stopDefAction, false
    );
</script>
</body>
</html>

你可以在这里看到preventDefault方法的具体行为.

下例演示了如何使用preventDefault()方法来阻止一个input元素内非法字符的输入.

<!DOCTYPE html>
<html>
<head>
<title>preventDefault example</title>
</head>
<body>
<p>请输入一些字母,只允许小写字母.</p>
<form>
<input type="text" id="my-textbox"/>
</form>
<script type="text/javascript">
function checkName(evt) {
var charCode = evt.charCode;
  if (charCode != 0) {
    if (charCode < 97 || charCode > 122) {
      evt.preventDefault();
      alert("只能输入小写字母." + "\n"
            + "charCode: " + charCode + "\n"
      );
    }
  }
}
document.getElementById('my-textbox').addEventListener(
    'keypress', checkName, false
 );
</script>
</body>
</html>

备注

在事件触发后的任何阶段调用preventDefault方法来取消该事件,意味着该事件的所有默认动作都不会发生.

Gecko 6.0 note
(Firefox 6.0 / Thunderbird 6.0 / SeaMonkey 2.3)

调用事件的preventDefault()方法后,会引起该事件的 event.defaultPrevented 属性值变为true.

你可以查看 event.cancelable 属性来判断一个事件的默认动作是否可以被取消. 在cancelable属性为false的事件上调用 preventDefault 方法没有任何效果.

preventDefault 方法不会阻止该事件的进一步冒泡. event.stopPropagation 方法才有这样的功能.

规范

DOM Level 2 Events: preventDefault

文档标签和贡献者

对本页有贡献的人:  ziyunfei
最后编辑者:  ziyunfei, May 15, 2014 10:19:17 PM



目录
相关文章
|
3月前
|
中间件 API Go
使用Echo和Gin构建高性能Web服务的技术文档
本文档对比了Go语言中的两个流行Web框架——Echo和Gin。Echo是一个高性能、可扩展的框架,适合构建微服务和API,强调简洁API和并发性能。Gin基于net/http包,具有Martini风格API,以其快速路由和丰富社区支持闻名。在性能方面,Gin的路由性能出色,两者并发性能均强,内存占用低。文中还提供了使用Echo和Gin构建Web服务的代码示例,帮助开发者了解如何运用这两个框架。选择框架应考虑项目需求和个人喜好。
80 2
|
移动开发 HTML5
MDN Web技术文档 - HTML 元素
MDN Web技术文档 HTML 元素 元素   HTML元素 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z  (快速链接 HTML Category) HTML元素 这个HTML引用列表所有HTML元素,定义在HTML5或在之前的规范。
973 0
|
Web App开发 JavaScript 前端开发
MDN Web 技术文档 - JavaScript Strict mode
MDN Web 技术文档 - JavaScript Strict mode 在 JavaScript 1.8.5 引入         ECMAScript 5的严格模式是Javascript中的一种限制性更强的变种方式。
1655 0
|
20天前
|
数据库 开发者 Python
web应用开发
【9月更文挑战第1天】web应用开发
34 1
|
8天前
|
数据可视化 图形学 UED
只需四步,轻松开发三维模型Web应用
为了让用户更方便地应用三维模型,阿里云DataV提供了一套完整的三维模型Web模型开发方案,包括三维模型托管、应用开发、交互开发、应用分发等完整功能。只需69.3元/年,就能体验三维模型Web应用开发功能!
32 8
只需四步,轻松开发三维模型Web应用
|
17天前
|
数据采集 Java 数据挖掘
Java IO异常处理:在Web爬虫开发中的实践
Java IO异常处理:在Web爬虫开发中的实践
|
18天前
|
前端开发 JavaScript 持续交付
Web应用开发的方法
Web应用开发的方法
13 1
|
18天前
|
前端开发 JavaScript 持续交付
web应用开发
web应用开发
23 1
|
20天前
|
Web App开发 数据采集 iOS开发
「Python+Dash快速web应用开发」
这是「Python+Dash快速web应用开发」系列教程的第十六期,本期将介绍如何在Dash应用中实现多页面路由功能。通过使用`Location()`组件监听URL变化,并结合回调函数动态渲染不同页面内容,使应用更加模块化和易用。教程包括基础用法、页面重定向及无缝跳转等技巧,并通过实例演示如何构建个人博客网站。
25 2
WK
|
17天前
|
数据采集 API 开发者
很少有人用python开发web???
Python 是一种流行且广泛使用的编程语言,尤其在 Web 开发领域。它凭借简洁的语法、丰富的框架(如 Django 和 Flask)、强大的库支持及活跃的社区,成为许多开发者和企业的首选。Python 的易学性、高效性及广泛的应用场景(包括 Web API、微服务和数据分析等)使其在 Web 开发中占据重要地位,并将持续发挥更大作用。
WK
36 0