国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > JS > 正文

js學(xué)習(xí)總結(jié)之DOM2兼容處理重復(fù)問題的解決方法

2024-05-06 16:38:41
字體:
供稿:網(wǎng)友

DOM2兼容處理重復(fù)問題的解決方法,具體如下

在解決this問題之后,只需要在每次往自定義屬性和事件池當(dāng)中添加事件的時(shí)候進(jìn)行一下判斷就好了,具體代碼如下

/*  bind:處理DOM2級(jí)事件綁定的兼容性問題(綁定方法)  @parameter:    curEle->要綁定事件的元素    evenType->要綁定的事件類型("click","mouseover")    evenFn->要綁定的方法*/function bind(curEle,evenType,evenFn){  if('addEventListener' in document){    curEle.addEventListener(evenType,evenFn,false);    return;  }  //給evenFn化妝 并且把化妝前的照片貼在自己對(duì)應(yīng)的腦門上  var tempFn = function(){    evenFn.call(curEle)  }  tempFn.photo = evenFn;  //首先判斷自定義屬性之前是否存在,不存在的話創(chuàng)建一個(gè),由于要存儲(chǔ)多個(gè)化妝后的結(jié)果,所以我們讓其值是一個(gè)數(shù)組  if(!curEle["mybind"+evenType]){//根據(jù)不同的事件類型是不同的數(shù)組    curEle["mybind"+evenType] = [];  }  //解決重復(fù)問題:每一次自己在往自定義屬性對(duì)應(yīng)的容器中添加前,看一下是否已經(jīng)存在,存在的話就不用重新的添加了,同理也不需要往事件池里面存儲(chǔ)了  var ary = curEle["mybind"+evenType];  for(var i = 0;i<ary.length;i++){    var cur = ary[i];    if(cur.photo === evenFn){      return;    }  }  ary.push(tempFn);  curEle.attachEvent("on"+evenType,tempFn);  //這里的開始想法是改變this的指向,把this不指向window  /*    box.attachEvent("onclick",function(){      fn1.call(box)    })    這樣雖然解決了this的問題,但是又拋出了一個(gè)新的問題,不知道該如何刪除了(我們不知道匿名函數(shù)是誰)    var tempFn = function(){      fn1.call(box)    }    box.attachEvent("onclick",tempFn);    box.detachEvent("onclick",tempFn);  */}function unbind(curEle,evenType,evenFn){  if('removeEventListener' in document){    curEle.removeEventListener(evenType,evenFn,false);    return;  }  //拿evenFn到curEle["myBind"]這里找化妝后的結(jié)果,找到之后再事件池中把化妝后的結(jié)果移除事件池  var ary = curEle['myBind'+evenType];  for(var i = 0;i<ary.length;i++){    if(ary[i].photo===evenFn){      ary.splice(i,1)//找到后 把自己存儲(chǔ)的容器中對(duì)應(yīng)的移除掉      curEle.detachEvent("on"+evenType,ary[i]);//在把事件池中對(duì)應(yīng)的也移除掉      break;    }  }  }

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持VeVb武林網(wǎng)。


注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到JavaScript/Ajax教程頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 香格里拉县| 平谷区| 玉门市| 阳新县| 渝中区| 冷水江市| 萨迦县| 龙陵县| 西乌珠穆沁旗| 绥德县| 安陆市| 道真| 德惠市| 巴东县| 平江县| 克东县| 保德县| 临洮县| 邻水| 郑州市| 静安区| 保靖县| 盈江县| 阜阳市| 南漳县| 南召县| 天镇县| 定陶县| 高州市| 南城县| 唐河县| 阿城市| 四会市| 兴国县| 陵川县| 班玛县| 福海县| 公主岭市| 沈丘县| 葵青区| 新巴尔虎右旗|