返回到:Prototype – 事件处理
此方法停止事件的传播并防止其默认操作最终被触发。
一旦事件启动,浏览器如何处理事件有两个方面:
- 浏览器通常在事件发生的实际元素上触发事件处理程序,然后在其父元素上,依此类推,直到到达 document.s 根元素。这称为事件冒泡,是最常见的事件传播形式。当您刚刚处理一个事件时,您可能非常希望停止这种传播,并且不希望它继续冒泡(或者认为没有必要)。
- 一旦您的代码有机会处理该事件,如果该事件具有默认行为,浏览器也会处理它。例如,点击链接导航到它们;提交表单将它们发送到服务器端;在单行表单域中按下 Return 键提交它,等等。如果您自己处理,您可能非常希望防止这种默认行为。
因为停止其中一个方面意味着,在 99.9% 的情况下,也会阻止另一个方面,所以 Prototype 在这个停止函数中捆绑了这两个方面。在事件对象上调用它会停止传播并防止默认行为。
语法
Event.stop(event);
返回值
NA.
例子
这是一个代码片段,如果某个字段为空,它会阻止将表单发送到服务器端。
Event.observe('signinForm', 'submit', function(event) {
var login = $F('login').strip();
if ('' == login) {
Event.stop(event);
// Display the issue one way or another
}
});
返回到:Prototype – 事件处理
作者:terry,如若转载,请注明出处:https://www.web176.com/prototype_api/8538.html