首页 > web前端 > js教程 > 如何从模态中动态生成的元素捕获事件?

如何从模态中动态生成的元素捕获事件?

Barbara Streisand
发布: 2024-12-18 11:15:17
原创
236 人浏览过

How Can I Capture Events from Dynamically Generated Elements Within a Modal?

从动态生成的元素捕获事件

您遇到了一个问题,即模态 DIV 中动态生成的元素触发的事件未被捕获由您现有的事件处理程序捕获。这个问题的出现是由于这些元素的动态特性,这些元素是在事件处理程序绑定后添加的。

为了解决这个问题,jQuery 提供了两种方法:.on 和 .delegate(适用于 1.7 之前的 jQuery 版本) )。这些方法允许您将事件委托给绑定处理程序时存在的静态祖先元素。在这种情况下,模态 DIV 充当静态祖先。

通过使用 .on 或 .delegate,您可以确保事件冒泡到祖先元素并触发事件处理程序,即使对于内部动态生成的元素也是如此。它。下面是使用 .on 方法的更新代码:

$('#modal').on('keyup', 'input', function() {
    handler = $(this).val();
    name = $(this).attr('name');
});
登录后复制

或者,对于 1.7 之前的 jQuery 版本,您可以使用 .delegate 方法,如下所示:

$('#modal').delegate('input', 'keyup', function() {
    handler = $(this).val();
    name = $(this).attr('name');
});
登录后复制

通过实现此解决方案,您可以有效地捕获和处理模态 DIV 内动态生成的元素触发的事件,确保用户的输入被记录为预计。

以上是如何从模态中动态生成的元素捕获事件?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板