前面的不过是一些基础的知识,真正的一些事件还是有点不同。还有一些命名空间的问题。不过现在ie也开始接受W3C标准,而且平时开发也很少考虑ie了,一些事件就不考虑ie了。

点击事件--click

  大部分问题出现在js、jq触发超链接上面。我之前看到的解释是谷歌新版本阻止了触发浏览器默认的操作(超链接、右键等等),但是在下面参考的一篇文章又提出是因为要触发超链接点击的不是<a>元素,而是<a>元素里面的内容,我觉得比较靠谱,因为网上不少jq有关操作做的都是相关的改变,但是这个方法在js中无用,大致的方法有如下几种。

在Js中:

    a)  无法触发超链接,只触发了给a标签绑定的’click’监听器(标准方法)

  1. var evt = document.createEvent( 'HTMLEvents' );
  2.  
  3. evt.initEvent('click', true, true);
  4.  
  5. document.getElementById('test').dispatchEvent(evt);//无法触发超链接a

    b)  给a标签里面添加了一个空的<span></span>,然后使用相同方法不可以触发

  1. document.getElementById('test').childNodes[0].dispatchEvent(evt);//无法触发超链接a

    c) 使用MouseEvent可以触发,不太清楚MouseEvents和event的区别。

  1. var event = document.createEvent('MouseEvents');
  2.  
  3. event.initMouseEvent('click', true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
  4.  
  5. document.getElementById('test').dispatchEvent(event);//可以触发超链接a

    

    d) 使用click()可以触发,这个我是真的不明白了,网上也还没有查到更多的解释,无论在js还是jq,好像它就理所当然地可以代替addEventListener进行监听器绑定,然而又区别于onclick,然后又理所当然地可以替代dispatchEvent()进行事件触发,而且不受是不是超链接限制。我之前用的最多的也是它,也有一些与它相似的事件,大概都出现在表单元素中,到时候再统一看看。

  1. document.getElementById('test').click();//可以触发超链接a

在jq中:

    a) 无法触发超链接,只触发了给a标签绑定的’click’监听器(标准方法)

  1. $('#test').trigger('click');//无法触发超链接a

    b) 给a标签里面添加了一个空的<span></span>,然后使用相同方法可以触发

  1. $('#test span').trigger('click');//可以触发超链接a

  c) 依旧是click()触发,不过除了js中的疑问,又多了一个疑问。由于之前所说是点击内容触发,$(‘#test’).click();不能触发,$(‘#test’)[0].click()能触发,即使#test对应的a标签没有子元素我都能理解。但是我依稀记得引发我对超链接思考的事故就发生在$a[0].click()失效啊。

我回去看了一下,下面的一段代码在http访问火狐浏览器的确是无效的,我也不知道为什么,反正就是不能用。

  1. var $a = $("<a></a>").attr("href", 'worker.js').attr('target','_blank');
  2.  
  3. $a[0].click();//在火狐浏览器中通过http访问时无效

参考:

http://www.cnblogs.com/kevinge/p/4803786.html

https://smartblack.iteye.com/blog/608477

Javascript和jquery事件--点击事件和触发超链接的更多相关文章

  1. Jquery的点击事件,三句代码完成全选事件

    先来看一下Js和Jquery的点击事件 举两个简单的例子 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN&q ...

  2. jquery绑定点击事件的三种写法

    一.用jquery动态绑定点击事件的写法 部分代码: <script type="text/javascript"> $(document).ready(functio ...

  3. 【javascript】iOS Safari 中点击事件失效的解决办法

    问题描述 当使用委托给一个元素添加click事件时,如果事件是委托到 document 或 body 上,并且委托的元素是默认不可点击的(如 div, span 等),此时 click 事件会失效. ...

  4. Javascript之三种按钮点击事件

    学习Javascript必须要先掌握基本的事件方法和语法,这些都是我们学过的也是最基本的.以前忘了总结,所以现在回顾,综合地总结一下,温故而知新. Javascript有三种按钮点击事件,分别为ale ...

  5. js/jquery 禁用点击事件

    前言 工作中经常遇到这种情况:验证邮箱页面的重新发送需要在3分钟后才可以点击触发请求,所以在这之前需要禁用他的点击. 网上查了后有以下几种实现方法 1.css禁用鼠标点击事件 .disabled { ...

  6. javascript基础1 语法 点击事件 超链接带点击事件

    javascript ----------------------------------------------------------------------------------------- ...

  7. jquery模拟点击事件

    在某些情况下,我们需要自动执行一些点击事件.比如:一些 tab 一般是通过点击事件来加载不同的数据内容. 而如果要页面加载完直接显示第三个 tab,怎么办呢?此时就需要用到 jQuery 的模拟点击事 ...

  8. 解决JavaScript拖动时同时触发点击事件的BUG

    在做在线地图项目的时候,在给marker点绑定事件时,因为有点击事件click,同时又存在拖动dragEnd事件,首先没有重大缺陷,就是在用户在点击的时候,有时候本想是点击,但是他触发了drag的事件 ...

  9. JavaScript或jQuery模拟点击超链接和按钮

    有时候我们需要页面自动点击超链接或者按钮,可以用js或者jQuery利用程序去点击,方法很简单,按钮或超链接代码如下: <a href="url" target=" ...

随机推荐

  1. vue踩坑-This dependency was not found

    * vux in ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/selector.js?type=script&i ...

  2. 【Uva 10285】Longest Run on a Snowboard

    [Link]: [Description] 在一个r*c的格子上; 求最长的下降路径; [Solution] 记忆化搜索; f[x][y]表示从(x,y)这个格子往下还能走多远; 因为是严格递增,所以 ...

  3. 洛谷 P1718 图形复原

    P1718 图形复原 题目描述 HWX小朋友对几何的热爱在电脑组是出了名的,号称“每题必解”,这天,LXC在玩logo的时候突然想到了一个题目,刚好可以去测试一下他封号的虚实,于是,他logo编程画了 ...

  4. java架构解密——实时动态aop

    在上篇博客中个.咱们一起组建了一个容器,里面封装了业务,这样,咱们就将业务和服务的组装放到了client,而client就相当于咱们的开发中使用到的配置文件.大家发现问题了吗?就是我不能动态修改了?业 ...

  5. hdu1533Going Home KM算法

    //给一个n*m的图, //m表示人,h表示房子 //问全部人走回家的最小步数 //每一个人仅仅能进一间房 //非常明显的最大带权匹配 //每一个人到每每间房的距离即为权值 //因为是求最小,仅仅要改 ...

  6. OSX: 禁止iCloud钥匙链?

    自从10.9有了一个新的功能叫viewlocale=zh_CN">iCloud钥匙串的,就出现了不少的麻烦.一是在10.9.3之前.好多人出现无限循环地要求用户输入Local item ...

  7. ASPNET 页面编码

    转自:http://www.cnblogs.com/libingql/archive/2009/04/11/1433771.html 设置ASPNET页面编码格式 1.Web.Config设置 < ...

  8. 51nod1004 n^n的末位数字

    题目来源: Author Ignatius.L (Hdu 1061) 基准时间限制:1 秒 空间限制:131072 KB 分值: 5 难度:1级算法题  收藏  关注 给出一个整数N,输出N^N(N的 ...

  9. 分享一个css3学习使用的选择器手册

    http://www.haorooms.com/tools/css_selecter/

  10. Kinect 开发 —— 进阶指引(上)

    本文将会介绍一些第三方类库如何来帮助处理Kinect传感器提供的数据.使用不同的技术进行Kinect开发,可以发掘出Kinect应用的强大功能.另一方面如果不使用这些为了特定处理目的而开发的一些类库, ...