addEventListener传递给我的函数的参数是什么?

时间:2016-11-12 07:30:50

标签: javascript

实施例

x.addEventListener("click", function() { myFunction(this); } );
function myFunction(obj) {
  alert(obj.innerHTML);
}

查看匿名函数里面的函数调用?匿名函数中的函数有一个参数"这个",我的问题是addEventListener提供的可能参数是什么?

我真的很新,请原谅我的许多错误用法。

编辑:我已经浏览了许多在线参考资料,如w3schools,Mozilla Developer Network,Stackoverflow类似的问题以及Google,但我找不到任何答案!如果您有我想要的链接,请发送给我。

1 个答案:

答案 0 :(得分:2)

这一切都在MDN页面上。

https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener

  

听者

     

发生指定类型的事件时接收通知(实现Event接口的对象)的对象。这必须是实现EventListener接口的对象,或者只是一个JavaScript函数。

     

处理程序

中的值      

使用addEventListener()将处理函数附加到元素时,处理程序内部的值是对元素的引用。它与传递给处理程序的事件参数的currentTarget属性的值相同。

const x = document.querySelector('#x')

x.addEventListener("click", function(event) { 
  console.log('this', this) // element that event was bound to
  console.log('event', event) // MouseEvent object, this contains info about the event
  myFunction(this) // call your function passing the clicked element
});

function myFunction(element) {
  alert(element.innerHTML)
}
<div id="x">Click me!</div>