事件的冒泡行为和默认行为

简介:   // 测试冒泡事件(重叠的这些元素都绑定了同一个事件) 顺序 从小往大 /* $('input').click(function(){ alert('input'); }); */ //可以调用事件对像行为e.

<div style="height:200px;width:200px;background:#ccc;">
<input type='button' value='按钮'>

</div>

 

// 测试冒泡事件(重叠的这些元素都绑定了同一个事件) 顺序 从小往大

/* $('input').click(function(){

alert('input');
});
*/

//可以调用事件对像行为e.stopPropagation()来阻止冒泡行为
$('input').click(function(e){

alert('input');
e.stopPropagation();
});
$('div').click(function(){

alert('div');
});
//注意 document不需要到引号
$(document).click(function(){

alert('document');
});

注意:当我们点击文档的时候,只触发文档事件;当我们点击 div 层时,触发了 div 和
文档两个;当我们点击按钮时,触发了按钮、div 和文档。触发的顺序是从小范围到大范围。
这就是所谓的冒泡现象,一层一层往上。
jQuery 提供了一个事件对象的方法:event.stopPropagation();这个方法设置到需要触发
的事件上时,所有上层的冒泡行为都将被取消。

 

网页中的元素,在操作的时候会有自己的默认行为。比如:右击文本框输入区域,会弹
出系统菜单、点击超链接会跳转到指定页面、点击提交按钮会提交数据。
$('a').click(function (e) {
e.preventDefault();
});
//禁止提交表单跳转
$('form').submit(function (e) {
e.preventDefault();
});
注意:如果想让上面的超链接同时阻止默认行为且禁止冒泡行为,可以把两个方法同时
写上:event.stopPropagation()和 event.preventDefault()。这两个方法如果需要同时启用的时候,
还有一种简写方案代替,就是直接 return false。
$('a').click(function (e) {
return false;
});

 

目录
相关文章
|
小程序
小程序中点击子元素事件而不触发父元素的点击事件
小程序中点击子元素事件而不触发父元素的点击事件
155 0
|
17天前
|
JavaScript 前端开发
|
5月前
如何阻止冒泡与默认行为
如何阻止冒泡与默认行为
如何让touchmove之后不触发touchend的事件
如何让touchmove之后不触发touchend的事件
59 0
|
JavaScript 程序员
【JavaScript-事件】target和this的区别?如何阻止冒泡事件?常见的鼠标事件和键盘事件有哪些?
【JavaScript-事件】target和this的区别?如何阻止冒泡事件?常见的鼠标事件和键盘事件有哪些?
160 0
【JavaScript-事件】target和this的区别?如何阻止冒泡事件?常见的鼠标事件和键盘事件有哪些?
|
JavaScript 前端开发
DOM怎么阻止默认动作?怎么阻止冒泡事件?
有一些html元素默认的行为,比如说a标签,点击后有跳转动作; form表单中的submit类型的input有一个默认提交跳转事件;reset类型的input有重置表单行为。
111 0
|
JavaScript 前端开发
面试题:什么是事件委托? 怎么阻止默认动作? 怎么阻止事件冒泡?
面试题:什么是事件委托? 怎么阻止默认动作? 怎么阻止事件冒泡?
148 0
|
JavaScript
13、JS事件(事件绑定、事件流、阻止事件冒泡、取消元素默认行为)
13、JS事件(事件绑定、事件流、阻止事件冒泡、取消元素默认行为)
116 0
JS 事件对象阻止默认行为与阻止冒泡
JS 事件对象阻止默认行为与阻止冒泡
JS 事件对象阻止默认行为与阻止冒泡