用JavaScript事件串连执行多个处理过程的方法

2016-02-19 10:32 4 1 收藏

只要你有一台电脑或者手机,都能关注图老师为大家精心推荐的用JavaScript事件串连执行多个处理过程的方法,手机电脑控们准备好了吗?一起看过来吧!

【 tulaoshi.com - Web开发 】

最近用到JavaScript 事件处理机制,找了些资料。
以前写 JavaScript 程序时,事件都是采用 
代码如下:

object.event = handler;

的方式初始化。这种方式对于 Internet Explorer、Mozilla/Firefox 和 Opera 来说很通用。但是有一个问题就是,这种方式只能一个事件对应一个事件处理过程。如果希望一个事件可以依次执行多个处理过程就不好用了。
但是 Internet Explorer 从 5.0 开始提供了一个 attachEvent 方法,使用这个方法,就可以给一个事件指派多个处理过程了。attachEvent 对于目前的 Opera 也适用。但是问题是 Mozilla/Firefox 并不支持这个方法。但是它支持另一个 addEventListener 方法,这个方法跟 attachEvent 差不多,也是用来给一个事件指派多个处理过程的。但是它们指派的事件有些区别,在 attachEvent 方法中,事件是以 “on” 开头的,而在 addEventListener 中,事件没有开头的 “on”,另外 addEventListener 还有第三个参数,一般这个参数指定为 false 就可以了。
因此要想在你的程序中给一个事件指派多个处理过程的话,只要首先判断一下浏览器,然后根据不同的浏览器,选择使用 attachEvent 还是 addEventListener 就可以了。实例如下:
代码如下:

if (document.all) { 
    window.attachEvent('onload', handler1); 
    window.attachEvent('onload', handler2); 

else { 
    window.addEventListener('load', handler1, false); 
    window.addEventListener('load', handler2, false); 

注意:attachEvent 所指派的多个过程的执行顺序是随机的,所以这几个过程之间不要有顺序依赖。另外 attachEvent 和 addEventListener 不仅仅适用于 window 对象,其他的一些对象也支持该方法。
代码如下:

function addEvent(obj, evenTypeName, fn){ 
 if (obj.addEventListener){ 
    obj.addEventListener(evenTypeName, fn, true); 
    return true; 
 } else if (obj.attachEvent){ 
    return obj.attachEvent("on"+evenTypeName, fn); 
 } else { 
    return false; 
 } 

来源:http://www.tulaoshi.com/n/20160219/1594998.html

延伸阅读
标签: Web开发
单击事件onClick 当用户单击鼠标按钮时,产生onClick事件。同时onClick指定的事件处理程序或代码将被调用执行。通常在下列基本对象中产生: button(按钮对象) checkbox(复选框)或(检查列表框) radio (单选钮) reset buttons(重要按钮) submit buttons(提交按钮) 一切文本和图片 例:可通过下列按钮激活alert(): html head /he...
标签: Web开发
1.作为HTML属性值的事件处理程序  HTML代码 input name="btn" type="button" id="btn" value="按钮" onclick="alert('mzwu.com');" /   2.作为JavaScript属性的事件处理程序  HTML代码 input name="btn" type="button" id="btn" val...
标签: 准生证
各地准生证办理过程 北京准生证的办理过程(别人的实践) 应该在怀孕3个月之内去办理,不过也说快生的时候才去办的,反正有空就去办。 1.拿上结婚证,户口本和身份证到你档案所在地单位(没有单位的去居委会)拿一个准生证表,盖一个章。 2.到你老公档案所在地单位(没有单位的去居委会)盖一个章。 3.到户口所在的居委会盖个章,会...
内存警告 ios下每个app可用的内存是被限制的,如果一个app使用的内存超过了这个阀值,则系统会向该app发送Memory Warning消息。收到消息后,app必须尽可能多的释放一些不必要的内存,否则OS会关闭app。 几种内存警告级别(便于理解内存警告之后的行为)  Memory warning level: 代码如下: typedef enum {     &...

经验教程

243

收藏

18
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部