移動端瀏覽器沒報錯無法看報錯資訊
移動端真機除錯,引入vconsole
array.prototype.slice.call(document.getelementbyid("test").childnodes);
用上面的方法可以把 id 為 test 的子節點轉換成陣列
ie8及之前不能直接這樣使用
解決方案
function toarray(nodes) catch (e)}return array;
}
事件處理
ie8及之前不支援addeventlistener。同時ie8及之前只支援時間冒泡,通過attachevent()新增的事件程式會被新增到冒泡階段。
attachevent和addeventlistener 比較相似,除了attachevent的事件引數都需要加上on ,事件觸發的this指向的是window而不是被觸發的元素作用域,繫結多個事件時順序從後往前執行(和js原本的執行順序相反)。
解決方案
/** element傳入的是獲取到的元素
* type傳入的是監聽的事件
* handler傳入的是觸發的函式
*/var eventutil = else if (element.attachevent) else
},removehandler: function(element, type, handler) else if (element.detachevent) else
}}
事件物件屬性差別
ie中的事件物件是window.event,同時event.srcelement與dom中的event.target相同。dom 0級中,等於this。在dom 2級中不等於this。
var mybtn = document.getelementbyid('mybtn');mybtn.onclick = function();
mybtn.attachevent('onclick', function(event));
ie的event.cancelbubble屬性(賦值為true或false) 和 dom裡的event.stoppropagation() 相同
ie的event.returnvalue屬性(賦值為true或false) 和 dom裡的event.preventdefault() 相同
相容性解決方案:
var eventutil = ,gettarget: function(e) ,
preventdefault: function(e) else
},stoppropagation: function(e) else
}}btn.onclick = function(e)
事件區別
滑鼠滾輪事件
大部分瀏覽器中滾輪事件為mousewheel,firefox裡是dommousescroll。
同時mousewheel往前是120的倍數,往後是-120的倍數。
但是在firefox裡,往前滾是-3的倍數,往後滾是3的倍數。數值乘上40再將正負數對換解決相容問題。
鍵盤事件
除了firefox,向上鍵、向下鍵等特殊鍵不會觸發keypress事件。
現代瀏覽器按鍵字元編碼是event.keycode,ie8及之前用的是event.charcode。
event.keycode在firefox裡,字母及數字都為0,向上鍵、向下鍵等特殊鍵顯示字元編碼。而event.which 則是向上鍵向下鍵等特殊鍵都為0,字母及數字正常顯示字元編碼。
瀏覽器css差異
一 css選擇器差異 乙個css的ie和ff差異,popup container alert 在ie6下alert類只能作用於 popup container的子元素。ff下alert類可以作用於 popup container和其子元素。二 z index在ie中的迷惑 z index屬性適用於定...
瀏覽器差異記錄
1.content home content 問題補充 我知道是寬度,width 與 width 區別是什麼,哦,謝謝。回答 下劃線 ie6支援下劃線,ie7和firefox等均不支援下劃線。你那個 的意思就是ie6下面寬度 449px 其他瀏覽器下寬度 460px 2.把乙個做為背景,在上面輸入文...
引數傳遞的瀏覽器差異
情況大體是這樣的 乙個頭頁面header.jsp上有乙個搜尋框,輸入關鍵字之後提交到另乙個搜尋頁面search.jsp輸出搜尋結果 header.jsp在業務應用下,search.jsp在發布系統的應用下,兩個應用使用同乙個tomcat。關鍵字keyword作為引數傳遞到搜尋頁面search.jsp...