• jQuery触发<a>标签的点击事件无效


    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

  • 相关阅读:
    Java之美[从菜鸟到高手演变]之设计模式
    常见JAVA框架
    每周一荐:学习ACE一定要看的书
    YUV格式&像素
    关于makefile
    socket通信
    [理论篇]一.JavaScript中的死连接`javascript:void(0)`和空连接`javascript:;`
    [应用篇]第三篇 JSP 标准标签库(JSTL)总结
    [应用篇]第一篇 EL表达式入门
    KVM基本实现原理
  • 原文地址:https://www.cnblogs.com/qiao-xi/p/4580030.html
Copyright © 2020-2023  润新知