欢迎来到天天文库
浏览记录
ID:15052263
大小:75.00 KB
页数:8页
时间:2018-08-01
《常用的javascript自定义函数》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、常用的JavaScript自定义函数JavaScript自定义函数在平时的开发过程中比较实用,这里介绍的是个最常用的十个JavaScript自定义函数主要涉及添加事件与移除事件等等。(10)addEvent网上最流行的版本是ScottAndrew的,据说javascript界曾举行一场比赛(此事件我们可以在ProJavascriptTechniques第100页看到)或浏览PPK的网站,征求添加事件与移除事件的函数,他就是其获奖者。下面就是他的实现:1.function addEvent(elm, evType,
2、 fn, useCapture) { 2. if (elm.addEventListener) { 3. elm.addEventListener(evType, fn, useCapture);//DOM2.0 4. return true; 5. } 6. else if (elm.attachEvent) { 7. var r = elm.attachEvent('on' + evType, fn);//IE5+ 8. return r; 9. } 10.
3、 else { 11. elm['on' + evType] = fn;//DOM 0 12. } 13.} 下面是DeanEdwards的版本14.// addEvent/removeEvent written by Dean Edwards, 2005 15.// with input from Tino Zijdel 16.// http://dean.edwards.name/weblog/2005/10/add-event/ 17.function addEvent(element,
4、 type, handler) { 18. //为每一个事件处理函数分派一个唯一的ID 19. if (!handler.$$guid) handler.$$guid = addEvent.guid++; 20. //为元素的事件类型创建一个哈希表 21. if (!element.events) element.events = {}; 22. //为每一个"元素/事件"对创建一个事件处理程序的哈希表 23. var handlers = element.even
5、ts[type]; 24. if (!handlers) { 25. handlers = element.events[type] = {}; 26. //存储存在的事件处理函数(如果有) 1. if (element["on" + type]) { 2. handlers[0] = element["on" + type]; 3. } 4. } 5. //将事件处理函数存入哈希表 6. ha
6、ndlers[handler.$$guid] = handler; 7. //指派一个全局的事件处理函数来做所有的工作 8. element["on" + type] = handleEvent; 9.}; 10.//用来创建唯一的ID的计数器 11.addEvent.guid = 1; 12.function removeEvent(element, type, handler) { 13. //从哈希表中删除事件处理函数 14. if (element.events &
7、& element.events[type]) { 15. delete element.events[type][handler.$$guid]; 16. } 17.}; 18.function handleEvent(event) { 19. var returnValue = true; 20. //抓获事件对象(IE使用全局事件对象) 21. event = event
8、
9、 fixEvent(window.event); 22. //取得事件处
10、理函数的哈希表的引用 23. var handlers = this.events[event.type]; 24. //执行每一个处理函数 25. for (var i in handlers) { 26. this.$$handleEvent = handlers[i]; 27. if (this.$$handle
此文档下载收益归作者所有