事件触发

啥也不说直接上代码


function triggerFn(obj,onevent){
var events;
// 事件触发
if(ie){
//调用document对象的createEventObject方法得到一个event的对象实例
events = document.createEventObject();
events.eventType = ‘事件信息‘;
//触发obj上绑定的oneven事件
obj.fireEvent(‘on‘+onevent, events);
}else{
//调用document对象的 createEvent 方法得到一个event的对象实例
events = document.createEvent("HTMLEvents");

// 事件类型,是否冒泡,是否阻止浏览器的默认行为
events.initEvent(onevent,true,true);
events.eventType = "事件信息";

//触发obj元素上绑定oneven事件
obj.dispatchEvent(events);
}
}

事件触发器就是用来触发某个元素下的某个事件,IE下fireEvent方法,其他高级浏览器(chrome,firefox等)有dispatchEvent方法。

转载:http://www.css88.com/archives/4998

除了事件触发器还有一些如 JavaScript事件代理和委托(Delegation):http://www.cnblogs.com/owenChen/archive/2013/02/18/2915521.html

时间: 2024-11-05 11:55:19

事件触发的相关文章

Android Activity 和 ViewGroup中事件触发和传递机制

1.在只有Activity的情况: 1)Touch事件触发流程: 首先触发dispatchTouchEvent 然后触发onUserInteraction 再次onTouchEvent 如果是点击的话,紧跟着下列事件(点击分俩步,ACTION_DOWN,ACTION_up) 触发dispatchTouchEvent 再次onTouchEvent 当ACTION_up事件时不会触发onUserInteraction(可查看源代码) 2)键盘事件触发流程 首先触发dispatchKeyEvent 然

C#事件触发机制

C#的事件触发机制,类似于c++的回调函数机制 我先简单说一下,委托和事件的实质,后期再重开一篇博文来详细说 委托:指向方法的指针,类似于C的函数指针 事件:是一个可以存放0个或多个方法指针的数据结构  .......... 在一次编译后会为其生成一个类等等的就以后另开博文说了 看看触发机制 方便理解,来个通俗一点的图 事件触发源类 class cclass { private char i; public delegate void ichanged(cclass s); public eve

U3D Trigger事件触发

使用Trigger事件触发,可以达到虽然触发了,可是不改变任何效果. 这个是进入时候触发的: void OnTriggerEnter2D(Collider2D other) { print (other.transform.name); } 退出触发: void OnTriggerExit2D(Collider2D other) { print (other.transform.name + "-----"); } 停留时触发: void OnTriggerStay2D(Collide

点击label事件触发两次的坑

今天帮群里的朋友看一段代码的时候偶然间遇到一个label的坑,点击label的时候,监听的click事件被执行两次: 具体代码如下: 1 <div id="test"> 2 <input type="checkbox" name="abc" id="abc"/> 3 <label for="abc">3423432432432432</label> 4 <

Zendframework 模块加载事件触发顺序。

模块加载时事件触发的时间顺序: 1.  loadModule.resolve(ModuleEvent::EVENT_LOAD_MODULE_RESOLVE):模块将被加载时触发,事件监听者将模块名解析成类的实例.监听者使用getModuleName()获取模块名. 2.  loadModule(ModuleEvent::EVENT_LOAD_MODULE):一旦模块被解析成对象后,本事件会被触发,与之相对的事件监听者会加载模块(将新建的对象传递给所有的监听者). 3.  mergeConfig(

Fastclick 导致click事件触发两次的问题

我在移动web上使用Fastclick这个库去解决300ms延迟问题,但是在安卓4.2下的webview中引发了另一个比较奇怪的bug. 在A页面中有个 a button,在B页面中有个 b button,a和b都在同一个position,给a和b都注册一个click事件.a的click事件触发后跳转到B页面.当a被点击后调到B页面,你会发现b按钮的click事件也被触发了. 没错,事件'穿透'了两个页面! 但其实并没有穿透,点击a按钮时,其实有如下两个动作: fastclick用touchst

Javascript事件触发顺序

html标签是有子和父的,这个时候就出现了事件触发顺序的问题,比如: <!DOCTYPE html> <html> <head> <style> .first{ border:solid #FF0000 } .second{ border:solid #00FF00 } .third{ border:solid #0000FF } </style> <script src="http://libs.baidu.com/jquery

浅谈Android onClick与onLongClick事件触发的问题

之前做按钮的点击事件一直没有注意一些细节,今天做了一个按钮需要有点击和长点击触发不同效果,直接让Activity implements OnClickListener, OnLongClickListener然后添加了相应的处理函数. @Override public void onClick(View v) { // TODO Auto-generated method stub } @Override public boolean onLongClick(View v) { // TODO

angularjs $broadcast $emit $on 事件触发controller间的值传递

使用angularjs,发现controller间的值传递,比较麻烦的,以后几篇文章会陆续说几种方法. 一,angularjs $broadcast $emit $on的处理思想 在一个controller里面通过事件触发一个方法,在方法里面通过$broadcast或$emit来定义一个变量,在父,子controller里面通过$on来获取. 二,实例说明angularjs $broadcast $emit $on的用法 1,html代码 查看复制打印? <div ng-controller=&qu

[转载] 理解 epoll 的事件触发机制

原文: http://weibo.com/p/1001603862394207076573?sudaref=weibo.com epoll的I/O事件触发方式有两种模式:ET(Edge Triggered)和LT(Level Triggered). 这个触发模式其实是events(事件)的属性,该属性是和POLLIN.POLLOUT等属性并列且混杂使用的,而events有时依附在fd(文件描述符)上的,所以可以说:这个触发模式是events所依附的fd的属性.区分events和fd的原因是ker