在下面的示例中,如果我们将 handler 添加到addEventListener
而没有任何args,那么Event click
对象会自动作为参数传递给处理程序
<table id="outside">
<tr><td id="t1"> one </td></tr>
<tr><td id="t2"> two </td></tr>
</table>
<script>
function modifyText(e,text)
{
console.log(e); // logs => click clientX=100, clientY=21
}
// add event listener to table
var el = document.getElementById("outside");
el.addEventListener("click", modifyText, false); //method 1
// el.addEventListener("click", function(){modifyText("four")}, false); //method 2
</script>
但是如果您将任何args传递给处理程序,则不传递Event click
对象。如何在处理程序
Event click
obj和args
答案 0 :(得分:1)
如果您使用匿名函数,则会自动传入event
:
el.addEventListener("click", function(event){
//event is passed
modifyText("four") //add another param here to pass 'event' along with your param
}, false);
如果您指定一个函数作为回调,您将获得默认参数,如上所述(event
是第一个)
如果你想要更多参数,你必须通过第二个参数将它传递给你的函数。