- Prototype 教程
- Prototype - 首页
- Prototype - 简短概览
- Prototype - 有用功能
- Prototype - 实用方法
- Prototype - 元素对象
- Prototype - 数值处理
- Prototype - 字符串处理
- Prototype - 数组处理
- Prototype - 散列处理
- Prototype - 基本对象
- Prototype - 模板
- Prototype - 枚举
- Prototype - 事件处理
- Prototype - 表单管理
- Prototype - JSON 支持
- Prototype - AJAX 支持
- Prototype - 表达范围
- Prototype - 定期执行
- Prototype 有用资源
- Prototype - 快速指南
- Prototype - 有用资源
- Prototype - 讨论
原型 - 事件 stop() 方法
此方法停止事件传播,并最终阻止触发其默认操作。
在浏览器引发事件后,它处理事件的方式有两个方面:
浏览器通常在实际发生事件的元素上触发事件处理程序,然后在其父元素上触发,以此类推,直到到达 document.s 根元素。这称为事件冒泡,是事件传播最常见的形式。在刚刚处理完一个事件并且不希望它继续冒泡(或认为没有必要)时,你很有可能希望停止这种传播。
一旦你的代码有机会处理事件,如果该事件有默认行为,浏览器也会处理它。例如,单击链接会导航到它们;提交表单会将它们发送到服务端;在单行表单字段中按 Return 键会提交它,等等。如果你自己进行处理,则很有可能希望阻止此默认行为。
因为在 99.9% 的情况下,停止其中一个方面意味着阻止另一个方面,所以 Prototype 在此 stop 函数中将两者捆绑在一起。在事件对象上调用它会停止传播并阻止默认行为。
语法
Event.stop(event);
返回值
不可用。
示例
下面是一个代码片段,如果某个字段为空,则会阻止将表单发送到服务端。
Event.observe('signinForm', 'submit', function(event) {
var login = $F('login').strip();
if ('' == login) {
Event.stop(event);
// Display the issue one way or another
}
});
prototype_event_handling.htm
广告