当前位置: 首页 > 面试题库 >

在循环中添加“点击”事件监听器[重复]

颜瀚漠
2023-03-14
问题内容

onClickhtml标记中的标准重构为侦听器,我的代码面临问题:

var td;
    for (var t=1;t<8;t++){
        td = document.getElementById('td'+t);
        if (typeof window.addEventListener==='function'){
                td.addEventListener('click',function(){
                    console.log(td);
            })}
 }

td单击元素时,假定单击的td是循环中的最后一个索引,例如7Lookslike,eventListeners仅填充了此循环中的最后一个元素,循环初始化看起来正确,为什么会这样呢?


问题答案:

您需要将事件侦听器的分配包装在闭包中,例如:

var td;
for (var t = 1; t < 8; t++){
    td = document.getElementById('td'+t);
    if (typeof window.addEventListener === 'function'){
        (function (_td) {
            td.addEventListener('click', function(){
                console.log(_td);
            });
        })(td);
    }
}


 类似资料:
  • 本文向大家介绍Java添加事件监听器,包括了Java添加事件监听器的使用技巧和注意事项,需要的朋友参考一下 示例 Preferences对象发出的事件有两种:PreferenceChangeEvent和NodeChangeEvent。 PreferenceChangeEvent 每当节点的键值对之一更改时,对象PreferenceChangeEvent就会发出A。可以使用来监听:Propertie

  • 2.url点击事件的监听 url点击事件的监听是指将访客和客服发送在聊窗中的链接ur的点击事件暴漏出来,用户可以自定义url打开方式(默认使用SDK内置Webview加载)。监听接口为OnUrlClickListener; 注册监听方法: Ntalker.getInstance().setOnUrlClickListener(OnUrlClickListener onMsgClickListene

  • 问题内容: 很多次,我在HTML页面中都看到过这样的链接: 在那里的作用是什么? 另外,我通常不会在按钮中看到它。 在任何地方都指定了吗?在w3.org的某些规格中? 问题答案: 事件处理程序的返回值确定默认浏览器行为是否也应发生。在单击链接的情况下,将在链接之后,但是区别最明显的是表单提交处理程序,如果用户输入信息有误,您可以在其中取消表单提交。 我不相信对此有W3C规范。像这样的所有古代Jav

  • 我有一个控制器类,它需要为列表中的每个项目执行各种异步操作: 对于每个A 播放音频并等待完成 等t秒 对于A的每个子部分B: 播放音频并等待 等待t2秒 当我的方法被激发。我试着回复听众: 但最后我还是无法摆脱内部循环,这让我觉得整个想法都行不通。我已经查看了未来的界面,但这似乎也不是我想要的。 我知道我可以用一堆变量来解决这个问题,以跟踪我在状态流中的位置,但是带有一些框架的循环会更干净。谢谢:

  • 我做错什么了吗? 我所看到的例子是使用这种方法而不使用fxml,我必须使用注释来定义处理程序吗?在FXML中,我应该把场景的“onAction”放在哪里?

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