当前位置: 首页 > 知识库问答 >
问题:

javascript - 如何在事件监听器中传递 'this' 参数?

巫欣荣
2023-12-29

addEventListener('keydown', myFunction),
removeEventListener('keydown', myFunction)

怎么在myFunction传参数 this?

function myFunction(_this){  console.log(_this)}

共有2个答案

蒯华彩
2023-12-29
<input type="text" id="i" /><script type="text/javascript">  function myFunction(_this, e) {    console.log(_this, e);  }  document.querySelector("#i").addEventListener("keydown", function (event) {    myFunction(this, event);  });</script>

image.png

宗政金鹏
2023-12-29

在 JavaScript 中,你可以通过使用匿名函数或箭头函数来在事件监听器中传递 this 参数。以下是如何做到这一点的示例:

// 匿名函数element.addEventListener('keydown', function(event) {  myFunction(this, event);}.bind(element));// 箭头函数element.addEventListener('keydown', (event) => {  myFunction(this, event);}.bind(element));

在上述代码中,.bind(element) 方法用于将匿名函数或箭头函数的 this 参数绑定到 element。这样,当事件触发时,this 参数就会指向你期望的元素。

然后你可以这样定义 myFunction

function myFunction(element, event) {  console.log(element); // 将会打印出触发事件的元素  console.log(event); // 将会打印出事件对象}

这样,myFunction 就可以接收到 this 参数和事件对象了。

 类似资料:
  • 应用事件监听器是实现一个或多个 Servlet 事件监听器接口的类。它们是在部署 Web 应用时,实例化并注册到 Web 容器中。它们由开发人员在WAR 包中提供。 Servlet 事件监听器支持在 ServletContext、HttpSession 和ServletRequest 状态改变时进行事件通知。Servlet 上下文监听器是用来管理应用的资源或 JVM 级别持有的状态。HTTP 会话

  • 问题内容: 我想知道是否有人可以帮助我理解如何准确地创建不同的自定义事件侦听器。 我没有事件的具体案例,但我想大致了解它是如何完成的,因此可以将其应用于需要的地方。 我想做的是,以防万一有些人可能需要知道的是: 问题答案: var evt = document.createEvent(“Event”); evt.initEvent(“myEvent”,true,true);

  • 我正在使用Hibernate 5和Spring 4.2。3.我找不到将eventListener添加到SessionFactory范围的方法。我只需要在hibernate持久化对象之前设置一个日期。我在Spring定义了sessionFactory。xml 我有我的GenericDAOImpl在哪里得到这个会话工厂: 我已经看到了几种方法,但其中一些方法不适用于Hibernate 5(如)。我找不

  • 主要内容:什么是AWT事件监听器,AWT EventListner 接口声明,常用的AWT事件监听器什么是AWT事件监听器 AWT事件侦听器代表负责处理事件的接口。Java 为我们提供了各种事件侦听器类,但我们将讨论更常用的那些。事件侦听器方法的每个方法都有一个作为对象的参数,该对象是 EventObject 类的子类。例如,鼠标事件侦听器方法将接受 MouseEvent 的实例,其中 MouseEvent 派生自 EventObject。 AWT EventListner 接口声明 Event

  • 问题内容: 我目前正在尝试编写一些JavaScript,以获取已单击的类的属性。我知道要以正确的方式执行此操作,应该使用事件侦听器。我的代码如下: 我希望每次单击其中一个类来告诉我该属性时,都会得到一个警告框,但是不幸的是,这不起作用。有人可以帮忙吗? ( 注 - 我可以很容易地做到这一点,但我 不 喜欢使用它) 问题答案: 这应该工作。返回与条件相匹配的元素的数组(类似于 数组 )(请参阅编辑)

  • 我在ListItem中设置了一个事件。然后在调用的方法上调用来传递单击的列表项的id和name值。 下面的问题建议使用bind,但似乎将onCLick事件添加到ListItem会破坏列表绑定。 在添加单击事件之前,与的列表范围绑定按预期工作,并填充列表。 此外,如果我尝试没有参数,则单击事件不起作用。 问题: 如何在JSX中的onClick事件绑定中传递参数? 列表定义: 从单击事件调用的方法: