zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    C#日期加减
    c#的预编译指令
    IHttpModule与IHttpHandler的区别整理
    ASP.NET提供程序
    在所有页面共享通用行为
    5.Oracle中的数据表
    asp.net跳转页面的三种方法比较(转)
    C#实现经典排序算法
    ASP.NET用户登录模块代码
    http错误锦集
  • 原文地址:https://www.cnblogs.com/qiao-xi/p/4580030.html
Copyright © 2011-2022 走看看