重慶分公司,新征程啟航
為企業提供網站建設、域名注冊、服務器等服務
為企業提供網站建設、域名注冊、服務器等服務
DOM2兼容處理順序問題的解決方法,具體如下
創新互聯建站基于成都重慶香港及美國等地區分布式IDC機房數據中心構建的電信大帶寬,聯通大帶寬,移動大帶寬,多線BGP大帶寬租用,是為眾多客戶提供專業服務器托管報價,主機托管價格性價比高,為金融證券行業光華機房服務器托管,ai人工智能服務器托管提供bgp線路100M獨享,G口帶寬及機柜租用的專業成都idc公司。
解決順序問題:我們不用瀏覽器自帶的事件池了,而是自己模擬標準瀏覽器的事件池實現,具體代碼如下:
/* bind:處理DOM2級事件綁定的兼容性問題(綁定方法) @parameter: curEle->要綁定事件的元素 evenType->要綁定的事件類型("click","mouseover") evenFn->要綁定的方法 */ function bind(curEle,evenType,evenFn){ if('addEventListener' in document){ curEle.addEventListener(evenType,evenFn,false); return; } //給evenFn化妝 并且把化妝前的照片貼在自己對應的腦門上 var tempFn = function(){ evenFn.call(curEle) } tempFn.photo = evenFn; //首先判斷自定義屬性之前是否存在,不存在的話創建一個,由于要存儲多個化妝后的結果,所以我們讓其值是一個數組 if(!curEle["mybind"+evenType]){//根據不同的事件類型是不同的數組 curEle["mybind"+evenType] = []; } //解決重復問題:每一次自己在往自定義屬性對應的容器中添加前,看一下是否已經存在,存在的話就不用重新的添加了,同理也不需要往事件池里面存儲了 var ary = curEle["mybind"+evenType]; for(var i = 0;i
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持創新互聯。