jQuery触发标签的点击事件无效

上述的代码,其实挺正常的,但是怎么也触发不了a标签的click事件。百度一下,解决方案如下

     <a id="workFrame" href="pages/work.html" target="FrameBox"><span id="aSpan">首页</span></a>  

      $("#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

上一篇:使用JQuery UI selectmenu, onchange事件失效


下一篇:iOS: ARC和非ARC下使用Block属性的问题