JS中DOM事件中一些常見的瀏覽器相容問題

2021-10-03 09:30:20 字數 1275 閱讀 3079

測試主要針對ie進行。

1:node.addeventlistener(事件型別,事件處理函式,false)ie9以下不相容。

2:node.attachevent(「on」+事件型別,事件處理函式)ie11以下相容,11不相容。

所以需要封裝相容寫法:

function addevent(node,etype,fn)

`node代表節點物件;etype表示事件型別;fn為事件處理函式`

常見缺點:就是具有穿透性,易多級觸發具有相同事件的父元素事件,同時覆蓋外部相同事件。

一般處理事件冒泡主要有兩種方法:

1:event.stoppropagation()方法,適用於標準瀏覽器,ie9以下不支援。

2:event.cancelbubble = true;ie全系列支援。

相容寫法:

function stopbubble(event)

:目標獲取:主要依靠事件下的屬性獲取;

1:event.target;此方法標準瀏覽器相容,ie9以下不相容

2:event.srcelement;這是ie方法,全系列支援。

相容寫法:利用短路運算;

var  target = event.target || event.srcelement;
可以配合事件冒泡,進行事件委託,所謂事件委託就是需要對子元素進行事件操作,而不是在子元素上直接新增事件,改由在父元素上新增事件,同時獲取事件物件後後,使用event.target指向當前操作的子元素。

1:event.preventdefault()標準瀏覽器 ie9以上支援,以下不支援

2:event.returnvalue = false;ie9以下支援,以上不支援

可以看出ie9之前使用event.returnvalue = false;來阻止預設事件,從ie9開始改為使用標準方法event.preventdefault()阻止預設行為。

需要相容ie9以下的需要考慮相容:

function

stopdefault

(event)

JS 整理javascript中一些常見的陣列方法

1 將陣列轉為字串 array.prototype.join var arr 1,2,3 arr.join 1,2,3 arr.join 1 2 3 重複的字串 function repeatstring str,n repeatstring a 3 aaa repeatstring hi 5 hi...

js中一些常見的字串方法

let str djhdgahj let str1 dhgdka tolowercase 轉換為小寫 console.log str.tolowercase djhdgahj touppercase 轉換為大寫 console.log str1.touppercase dhgdka charat 返...

JS中DOM操作的一些方法

常用dom方法 選擇器 需要注意 getelementbyid 適用於需要查詢文件中的乙個特定的元素,如果沒有指定 id 的元素返回 null,如果存在多個指定 id 的元素則返回第乙個。其他的方法獲取結果可能是多個,所以element後面要加s。元素物件 b bb div a aaa div c ...