event自動(dòng)傳入
綁定事件處理函數(shù)的時(shí)候,經(jīng)常需要用到event,比如使用了事件代理,需要通過event來拿到事件源對(duì)象等等,在綁定事件處理函數(shù)的時(shí)候,event對(duì)象是自動(dòng)傳入的,實(shí)例如下:
<div onClick="click1()"></div>
<div onClick="click2('Xx')"></div>
<script>
var click1 = function(e) {
// chrome下面可以不顯式書寫參數(shù)e而在函數(shù)內(nèi)部直接使用event,火狐下如果不顯式用參數(shù)接收則不能直接在函數(shù)內(nèi)部通過書寫event的方式使用事件對(duì)象,而需要使用arguments來取得事件對(duì)象
// chrome和ff下都可以不顯式提供形參列表接收事件對(duì)象,它是自動(dòng)被傳入的,傳入的方式是如果用戶在綁定事件處理函數(shù)的時(shí)候一個(gè)參數(shù)都沒有傳,則事件對(duì)象就是arguments[0],如果用戶傳遞了n個(gè)所需的參數(shù),則事件對(duì)象就是arguments[n](注意下標(biāo)是從0開始的)
console.log(e.target); // 輸出<div onClick="click1()"></div>
}
var click2 = function(name) {
console.log(name); // Xx
console.log(e.target); // <div onClick="click2('Xx')"></div>
}
</script>