web之家  

<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;
});

 

posted on 2016-09-26 16:05  路修远而求索  阅读(1666)  评论(0编辑  收藏  举报