当处理程序有参数时,如何获取Event click对象

how to get Event click object when handler has arguments

本文关键字:获取 Event 对象 click 何获取 程序 处理 参数      更新时间:2023-09-26

在下面的示例中,如果我们将处理程序添加到addEventListener中而不使用任何参数,则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

如果使用匿名函数,event将自动传入:

el.addEventListener("click", function(event){
    //event is passed
    modifyText("four") //add another param here to pass 'event' along with your param
}, false);

如果你指定一个函数作为回调,你会得到默认的params,如上所述(event是第一个(

如果你想要更多的params,你必须通过第二个参数将它传递给你的函数。