高分!!!!JS,JQ冒泡事件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了高分!!!!JS,JQ冒泡事件相关的知识,希望对你有一定的参考价值。
假设,我现在做了一个<div>,这个div里面我设置了一个onClink事件,问题是,我的div里面有一个<a>标签,a标签有一张图片,图片是有一个链接,让你点击以后打开新窗口去到另外一个页面的.
现在的问题是,我想点击a标签的图片时候,打开新窗口去到另外一个页面,而在这张图片位置上不触发,div的onClink事件.
$("a").bind("click",function(event)
event.stopPropagation();
)追问
直接在a标签上面调用?div不做任何处理吗?div的onclick事件不能去掉哦.
追答你是点击div的时候处超链接外有另外的处理流程??
那你就绑定在div上,看其触发事件的原始元素是哪个,按触发事件的原始元素来分别处理
$("div").bind("click",function(event)
var element = event.target;
if(element.tagName == 'DIV')
else if(element.tagName == 'A')
)
这样做,一次绑定就OK了:
$("#div").click(function(e)
if($(e.target).is("IMG")) //or e.target.nodeName=="IMG"
window.open(url)
func("div")
);追问
你这个方法现在哪里呢?a标签那里吗?还有if($(e.target).is("IMG")) //or e.target.nodeName=="IMG"
这句是怎么理解的?
我的意思是,
click事件是由不同DOM触发,只要判断是谁触发的,就可以分而治之,懂?
代码,同楼上追问
直接在a标签上面调用?div不做任何处理吗?div的onclick事件不能去掉哦.
追答是的,直接给a加事件就好,不用去掉div上的onClick事件
以上是关于高分!!!!JS,JQ冒泡事件的主要内容,如果未能解决你的问题,请参考以下文章
前端阻止冒泡事件将项目打包并安装在当前环境中请求路径参数传递方式JQ触发动态添加元素position绝对定位和相对定位js中动态添加idCorpus项目部署上线