注册为 properties 的事件处理器的返回值可以被用于取消事件的默认动作。在支持 addEventListener() 的浏览器中,你也可以调用事件对象的 preventDefault() 方法来取消事件的默认动作。IE 9 之前,是将事件对象的 returnValue 属性设置为 false。The following code shows a dummy event handler that uses all three cancellation techniques:
function cancelHandler(event) {
var event = event || window.event; // for ie
/* Do something to handle the event here */
// Now cancel the default action associated with the event
if (event.preventDefault) event.preventDefault(); // Standard technique
if (event.returnValue) event.returnValue = false; // IE
return false; // For handlers registered as object properties
}
当前的 DOM 事件模块草案定义了事件对象的一个属性叫 defaultPrevented。它还没被广泛支持,但意图是该属性将会通常为 false,但如果调用了 preventDefault() 后它就会变为 true。
取消一个事件所关联的默认动作只是一种事件取消。我们还可以取消事件的传播。支持 addEventListener() 的浏览器中,你可以调用事件对象的 stopPropagation() 方法。如果在同一个对象上还有其他处理器,这些处理器是仍然会被调用的,但调用了 stopPropagation() 后,其他对象上的事件处理器就不会被调用了。stopPropagation() 方法可以在事件传播过程中的任何时候被调用。
IE 9 之前,IE不支持 stopPropagation() 方法。相反,IE 事件对象有一个属性叫 cancelBubble。将它设为 true 就可以阻止任何进一步的传播了。(IE 8 以及之前的版本不支持事件传播的捕捉阶段,因此冒泡是它的唯一一种可以被取消的传播)。
当前的草案 DOM 事件规范定义了事件对象上的另一个方法,叫 stopImmediatePropagation()。像 stopPropagation() 一样,该方法阻止事件传播到任何其他对象。但它还会阻止注册在同一个对象上的任何其他事件处理器。在写本书时,一些浏览器已经支持,但其他还不支持。一些工具库,如 jQuery 和 YUI,以跨平台的方式定义了 stopImmediatePropagation。
相关推荐
主要介绍了浅谈javascript事件取消和阻止冒泡的方法和示例,有需要的小伙伴可以参考下。
一个小而又快速的pubsub实现,具有Java 8和11的订阅者优先级和事件取消功能。 利用 void run() { Bus bus = new Bus (); bus . reg( Sub . of( System . out :: println)); bus . pub( " Hello World! " ); } ...
RecyclerView的点击事件 粘进适配器里 在主方法里面直接调用
事件 取消按钮.被单击() 指纹识别1.取消指纹识别() 结束 事件 事件 解锁按钮.被单击() 指纹识别1.密码解锁屏幕() 结束 事件 事件 设置指纹识别按钮.被单击() 指纹识别1.设置指纹识别() 结束 事件 事件 指纹...
本段代码演示了如何使用JavaScript取消HTML事件的冒泡,即当后代元素的事件被触发时,祖先元素的相同事件也会被触发。代码中,页面包含一个div元素和一个嵌套在其中的span元素,分别设置了单击响应函数。当单击span...
取消订阅门禁事件 订阅报警事件 取消报警事件 门禁事件配置 时间段配置 开门——openDoor 关门——closeDoor 查询门(开、关)状态——queryDoorStatus 查询所有用户信息 添加用户 根据用户ID查询用户信息 删除...
主要介绍了JavaScript获取网页关闭与取消关闭的事件,有需要的朋友可以参考一下
在每个对象上,这个事件处理函数只会被执行一次。其他规则与bind()函数相同。这个事件处理函数会接收到一个事件对象,可以通过它来阻止...如果既想取消默认的行为,又想阻止事件起泡,这个事件处理函数必须返回false。
jQuery unbind 删除绑定事件 unbind([type],[data]) 是 bind()的反向操作,从每一个匹配的元素中删除绑定的事件。如果没有参数,则删除所有绑定的事件。...示例: 把所有段落的所有事件取消绑定 jQuery
动态事件注册可完全控制LabVIEW产生的事件的类型和时间。动态事件可使事件仅在应用程序的... · 第4步:通过取消注册事件函数以停止事件发生。 要动态注册对象事件,必须先获取该对象的VI服务器引用。可通过打开
取消框:取消事件上报状态的命令 结束框:回复事件上报状态已取消 I/O配置:选择为硬件设置,只需点击“事件使能”就置上事件上报状态;不选择为软件设置,点击“事件使能”后接受到特定报文才置上事件上报状态。 3....
主要介绍了JS传播事件、取消事件默认行为、阻止事件传播,通过事件处理程序的返回值 调用顺序讲解了详细的过程,需要的朋友可以参考下
主要为大家详细介绍了Vue中Table组件Select的勾选和取消勾选事件详解,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
unbind([type],[data]) 是 bind()的反向操作,从每一个匹配的元素中删除绑定的事件。如果没有参数,则删除所有绑定的事件。你可以将你用bind()...示例 : 把所有段落的所有事件取消绑定 jQuery 代码: $(“p”).unbind
博文链接:https://fourfire.iteye.com/blog/136356
本文实例讲述了微信公众平台开发关注及取消关注事件的方法。分享给大家供大家参考。具体分析如下: 用户在关注与取消关注公众号时,微信会把这个事件推送到开发者填写的URL,方便开发者给用户下发欢迎消息或者做帐号的...
checkbox多项选中及取消选中
主要介绍了jQuery取消特定的click事件实现方法,结合实例形式分析了jQuery简单实现事件绑定及取消事件绑定的相关技巧,需要的朋友可以参考下