原型 - 事件 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
广告
© . All rights reserved.