国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 衡水市| 秦皇岛市| 清水河县| 都安| 澄江县| 湘阴县| 克拉玛依市| 佛学| 崇义县| 丽水市| 宿迁市| 瓮安县| 徐州市| 腾冲县| 民和| 和平区| 忻城县| 陇川县| 宝兴县| 华阴市| 澎湖县| 塔城市| 安福县| 涟源市| 策勒县| 汉寿县| 准格尔旗| 永嘉县| 栾川县| 女性| 宁南县| 土默特左旗| 凌源市| 自治县| 新田县| 彩票| 名山县| 土默特右旗| 保亭| 勃利县| 崇礼县|