Prototype – 事件 stop() 方法

返回到: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

(0)
打赏 支付宝 支付宝 微信 微信
terryterry
上一篇 2023年1月31日
下一篇 2023年1月31日

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注