4

是否可以在不传递任何事件参数的情况下从调用的 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> 
4

3 回答 3

2

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

例如,

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

提醒 JS 事件,在本例中为“点击”

于 2013-04-04T12:24:41.123 回答
-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
}
于 2013-04-04T12:24:55.300 回答
-1

尝试这个:

onclick="myFunction(event)"

JS:

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

或者:

onclick="myFunction.call(this)"

JS:

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

更好的解决方案:

document.getElementById('paragraghhh').addEventListener('click', function(){
     console.log(this);
});
于 2013-04-04T12:22:14.460 回答