拿添加事件示例
?
- //?方式1 ??
- function ?addEvent(el,?type,?fn){ ??
- ???? if (el.addEventListener){ ??
- ????????el.addEventListener(type,?fn,? false ); ??
- ????} else { ??
- ????????el.attachEvent( 'on' +type,?fn) ??
- ????} ??
- } ??
- ??
- //?方式2 ??
- var ?addEvent?=?document.addEventListener?? ??
- ???????? function (el,?type,?fn)?{el.addEventListener(type,?fn,? false );}?: ??
- ???????? function (el,?type,?fn)?{el.attachEvent( 'on' +type,?fn)};??
// 方式1 function addEvent(el, type, fn){ if(el.addEventListener){ el.addEventListener(type, fn, false); }else{ el.attachEvent('on'+type, fn) } } // 方式2 var addEvent = document.addEventListener ? function(el, type, fn) {el.addEventListener(type, fn, false);} : function(el, type, fn) {el.attachEvent('on'+type, fn)};
?
方式1在函數內做判斷,每次給元素添加事件都需判斷一次,效率相對低一些。
jQuery 1.6.1/Prototype 1.7/Mootools 1.3/tangram 1.3.6/reg.js/right.js都是采用這種分支方式。
方式2使用了兩個匿名函數,僅在初始化時判斷一次,后每次調用無須判斷。效率相對高一些。
Ext/kissy/qwrap 采用這種分支寫法。
?
?
?
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
