event.stopPropagation Jquery阻止事件冒泡
作者:bea
帮朋友写了一个小效果,单击标签后标签变色并添加一个叉的图片,点击叉标签恢复原样,具体效果请点击下面的result 。 描述: 防止事件冒泡到DOM树上,也就是不触发的任何前辈元素上的事件处理函数。 version added: 1.0 event.stopPropagation() 我们可以用 event.isPropagationStopped() 来确定这个方法是否(在那个事件对象上)调用过了。 这个方法对 trigger() 来自定义的事
帮朋友写了一个小效果,单击标签后标签变色并添加一个叉的图片,点击叉标签恢复原样,具体效果请点击下面的result 。 描述: 防止事件冒泡到DOM树上,也就是不触发的任何前辈元素上的事件处理函数。
version added: 1.0
event.stopPropagation()
我们可以用 event.isPropagationStopped() 来确定这个方法是否(在那个事件对象上)调用过了。
这个方法对 trigger() 来自定义的事件同样有效。
注意,这不会阻止同一个元素上的其它事件处理函数的运行。
Additional Notes:
自从.live()方法处理事件一旦传播到文档的顶部,live事件是不可能停止传播的。同样地,.delegate() 事件将始终传播给其中包含的被委托元素;元素上的事件将在被委托事件被调用的时候执行。
Example:
灭掉click事件的冒泡。
$("p").click(function(event){
event.stopPropagation();
// do something
});
东西并不难,主要是记录下其中的阻止事件冒泡。
因为div添加了单击事件,div内部的img也添加了单击事件,所以当单击img时会先触发img上的单击事件,再触发div上的单击事件,这就是事件冒泡。
在Jquery中我们可以很方便的阻止他。
如下
event.stopPropagation(); 这样一来单击img就不再触发div的单击事件啦:
$('div').click(function(){
var $div = $(this);
if($div.find('img').size() > 0){
return;
}else{
$div.css('backgroundColor','#e1f0f3');
$('').
appendTo($(this)).click(function(event){
$div.css('backgroundColor','#ffffff');
$(this).remove();
event.stopPropagation();
}).css('margin-left','10px');
}
});
有用 | 无用
version added: 1.0
event.stopPropagation()
我们可以用 event.isPropagationStopped() 来确定这个方法是否(在那个事件对象上)调用过了。
这个方法对 trigger() 来自定义的事件同样有效。
注意,这不会阻止同一个元素上的其它事件处理函数的运行。
Additional Notes:
自从.live()方法处理事件一旦传播到文档的顶部,live事件是不可能停止传播的。同样地,.delegate() 事件将始终传播给其中包含的被委托元素;元素上的事件将在被委托事件被调用的时候执行。
Example:
灭掉click事件的冒泡。
$("p").click(function(event){
event.stopPropagation();
// do something
});
东西并不难,主要是记录下其中的阻止事件冒泡。
因为div添加了单击事件,div内部的img也添加了单击事件,所以当单击img时会先触发img上的单击事件,再触发div上的单击事件,这就是事件冒泡。
在Jquery中我们可以很方便的阻止他。
如下
event.stopPropagation(); 这样一来单击img就不再触发div的单击事件啦:
$('div').click(function(){
var $div = $(this);
if($div.find('img').size() > 0){
return;
}else{
$div.css('backgroundColor','#e1f0f3');
$('').
appendTo($(this)).click(function(event){
$div.css('backgroundColor','#ffffff');
$(this).remove();
event.stopPropagation();
}).css('margin-left','10px');
}
});
有用 | 无用
猜你喜欢
您可能感兴趣的文章:
- CSS怎样排版中文
- 用css制作一个网站导航栏
- 有关CSS样式中ID和class的命名
- 如何用CSS实现文本自动换行
- js如何调试,js错误调试附带js调试工具
- 解决jquery.form.js API插件中文乱码
- js获取和读取url参数的方法
- jquery表格隔行变色代码推荐
- 网页前端面试题 人人网js面试题
- 网页回到顶部 点击返回网页顶部代码
- jquery ajax json传递数据浅析
- jQuery ajax get post传值传参用法
- Jquery页面跳转:刷新页面,Jquery网页跳转
- js dom操作的一些心得笔记
- js性能优化:减小js体积大小
- 火狐8 firebug firefox8无需安装firebug
- js代码怎么用 什么是js代码
- Jquery实现从一个页面跳转到另一页面
- event.cancelBubble与event.stopPropagation()区别