标签:
1 <a id="workFrame" href="pages/work.html" target="FrameBox">首页</a> 2
3 $("#workFrame").tigger("click");
上述的代码,其实挺正常的,但是怎么也触发不了a标签的click事件。百度一下,解决方案如下
1 <a id="workFrame" href="pages/work.html" target="FrameBox"><span id="aSpan">首页</span></a> 2 3 $("#aSpan").tigger("click");
当然这里有一个问题,就是为啥触发span的click事件,就会触发a标签的click事件呢,就是一个事件冒泡的过程
1,事件源触发onclick事件,之后它的父元素也会触发click事件,之后它的祖父元素再触发click事件,直到html元素 (W3C标准 及支持事件冒泡,也支持事件捕获,事件捕获就是和事件冒泡相反,从html到事件源,当然我们伟大的IE在原则上还是不能与之为伍,有自己的风格,只支持事件冒泡)
2,当然也可以阻止事件传播
• 在W3c中,使用stopPropagation()方法 ,
• 在IE下设置cancelBubble = true;
3,也可以阻止默认行为,例如click <a>后的跳转~
• 在W3c中,使用preventDefault()方法;
• 在IE下设置window.event.returnValue = false;
关于事件传播的具体内容:前关注 http://www.jb51.net/article/42492.htm
标签:
原文地址:http://www.cnblogs.com/qiao-xi/p/4580030.html