I am houbiao beta 0.1

javascript学习笔记之js-trigger-Creating and triggering events

分类:Self

本节说的是js的trigger非jQuery的trigger(),但是之前咱们有必要再从新复习一下。

用过jQuery的人都知道jQuery有个trigger()事件,可以模拟出用户定义好的事件,比如说这样:$("#ele").bind("click",function(){ alert(1); })即给ID为ele的元素绑定了一个点击事件,当用户点击到他的时候会弹出提示框。但有些时候我们既需要触发他的点击但是又不能够点击到他,这就需要用到trigger()的模拟事件了。如下:$("#ele_2").bind("click",function(){ alert(2); $("#ele").trigger("click"); })这样的话在用户点击ID为ele_2的元素的时候就会触发2个动作,一个是自身的alert(2),另一个就是模拟了ID为ele的元素的点击事件,即alert(1)

言归正传,这样的效果或是Event在项目中经常会出现,抛开jQuery如何实现呢,看代码:function trigger(selector,type){ var _event = document.createEvent("Event"); _event.initEvent(type,true,true); selector.dispatchEvent(_event);}然后调用的时候就这样:trigger(document.getElementById("ele"),"click");这就模拟了ID为ele元素的click事件。

这个是在MOZILLA DEVELOPER NETWORK里看到的,测试了一下,IE8(包括)以下不支持,其他都完美OK。因为我是要在手机上做应用所以暂时先看到这,当然肯定可以全部兼容的,不然jQuery的trigger()是怎么来的呢,抽空再继续研究。然后还有一种方法Using CustomEvent(),是DOM4的,看个人项目需求自己选择吧。链接点此Creating and triggering events

3829 reads 0 comment

上一篇:javascript学习笔记之静心温习一下JS优化

暂时还没有回复信息

Leave a comment

*