如何在不传递事件参数的情况下从JS函数中获取触发事件?

时间:2013-04-04 12:18:22

标签: javascript event-handling

是否可以从调用的JavaScript函数获取JavaScript触发事件而不传递任何事件参数?

以下是示例代码:

<html>
  <head>

    <script>
      function myFunction()
      {
        // How I will get from here the fired event  ??
      }
    </script>
  </head>
  <body>

    <p id="paragraghhh" onclick="myFunction()">
       Click on this paragraph. An alert box will
       show which element triggered the event.
    </p>

  </body>
</html> 

3 个答案:

答案 0 :(得分:1)

在JavaScript函数中,您可以引用this.event属性。

例如,

function myFunction(){
  alert(this.event.type);
}

警告JS事件,在这种情况下是“点击”

答案 1 :(得分:-1)

试试这个:

onclick="myFunction(event)"

JS:

function myFunction(e)
{
    console.log(e.target);
}

OR:

onclick="myFunction.call(this)"

JS:

function myFunction()
{
    console.log(this);
}

更好的解决方案:

document.getElementById('paragraghhh').addEventListener('click', function(){
     console.log(this);
});

答案 2 :(得分:-1)

只需将HTML更改为

即可
<p id="paragraghhh" onclick="myFunction(event)">
  Click on this paragraph. An alert box will
  show which element triggered the event.
</p>

和JS到

function myFunction(event)
{
  // Handle event
}