Prototype - Event stop() 方法
此方法可停止事件的传播并防止其默认操作最终被触发。
事件启动后,浏览器处理事件的方式有两个方面 −
浏览器通常会在事件发生的实际元素上触发事件处理程序,然后在其父元素上触发事件处理程序,依此类推,直到到达 document.s 根元素。这称为事件冒泡,是最常见的事件传播形式。您可能非常希望在刚处理完事件时停止此传播,并且不希望它继续冒泡(或认为不需要冒泡)。
一旦您的代码有机会处理事件,如果该事件具有默认行为,浏览器也会处理它。例如,单击链接会导航到它们;提交表单会将它们发送到服务器端;在单行表单字段中按下回车键即可提交,等等。如果您自己处理,您很可能希望阻止此默认行为。
因为在 99.9% 的情况下,停止其中一个方面意味着同时阻止另一个方面,所以 Prototype 将两者都捆绑在此停止函数中。在事件对象上调用它会停止传播并阻止默认行为。
语法
Event.stop(event);
返回值
NA。
示例
以下是一段代码片段,如果某个字段为空,则阻止将表单发送到服务器端。
Event.observe('signinForm', 'submit', function(event) { var login = $F('login').strip(); if ('' == login) { Event.stop(event); // 以某种方式显示问题 } });