event自动传入
绑定事件处理函数的时候,经常需要用到event,比如使用了事件代理,需要通过event来拿到事件源对象等等,在绑定事件处理函数的时候,event对象是自动传入的,实例如下:
<div onClick="click1()"></div>
<div onClick="click2('Xx')"></div>
<script>
var click1 = function(e) {
// chrome下面可以不显式书写参数e而在函数内部直接使用event,火狐下如果不显式用参数接收则不能直接在函数内部通过书写event的方式使用事件对象,而需要使用arguments来取得事件对象
// chrome和ff下都可以不显式提供形参列表接收事件对象,它是自动被传入的,传入的方式是如果用户在绑定事件处理函数的时候一个参数都没有传,则事件对象就是arguments[0],如果用户传递了n个所需的参数,则事件对象就是arguments[n](注意下标是从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>
网友评论