測試主要針對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 ...