取消事件
当事件冒泡时,可以通过stopPropagation() 函数来终止冒泡,这个函数是event 对象中的方法。比如这段代码,任何父节点的事件回调都不会触发:
- button.addEventListener("click", function(e){
- e.stopPropagation();
- /* ... */
- }, false);
此外,一些类库比如jQuery 还支持stopImmediatePropagation() 函数,用来阻止后续所有的事件触发——哪怕这些事件是注册在同一个节点元素上的也不例外。
浏览器同样给事件赋予了默认行为。比如,当你点击一个链接时,浏览器的默认行为是载入新页面,当点击一个复选框时,浏览器会将其选中(或取消选中)。在事件传播阶段(之后)会触发这些默认行为,在任何一个事件处理程序中都可以阻止默认行为。可以通过调用event 对象的preventDefault() 函数来阻止默认行为,同样也可以通过在回调中返回false 来实现同样的效果:
广州网站建设,广州网站设计,广州网站制作,网站建设,网站设计,广州网站建设公司,广州网站设计公司
- bform.addEventListener("submit", function(e){
- /* ... */
- return confirm("Are you super sure?");
- }, false);
如果调用confirm() 返回false(用户点击了对话框的取消按钮),这个事件回调函数就返回false,这样就会取消事件,阻止表单的提交。