jQuery .on侦听器不要将点击侦听器添加到新元素

卢西奥·卡雷拉(Lucio Carrera)

我遇到了这个问题(在此总结),其中Jquery .on方法将侦听器添加到加载页面时创建的第一个按钮,但是当通过单击上一个按钮创建另一个按钮时,新按钮不包含任何内容侦听器,尽管我指出它应该在内部查找具有id且具有变量count值的元素。根据.on方法,您可以将侦听器添加到页面稍后创建的对象中。

这是HTML:

<head>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

    <body>



        <script src="script.js"></script>
    </body>
</head>

这是script.js

var count = 1;

$("body").html("<button id=\"" + count +"\">1</button>");

$("body #" + count).on("click", function(){
    count++;
    $("body").html($("body").html() + "<button id=\"" + count +"\">" + count +"</button>");
});
亚吉夫

var count = 1;

$("body").html("<button id=\"" + count +"\">1</button>");

$("body").on('click', '#' + count, function() {
    count++;
    $("body").html($("body").html() + "<button id=\"" + count +"\">" + count +"</button>");
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

使用.on()您可以一次定义函数,它将对任何动态添加的元素执行。

例如

$(document.body).on('click', 'body #' + count, function() {
  //do something
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用jQuery将事件侦听器添加到动态添加的元素中

将jquery事件侦听器添加到一系列唯一元素

jQuery-将事件侦听器添加到动态创建的按钮

将单击侦听器添加到 JQuery 对象数组

将事件侦听器添加到将来的项目(没有jQuery)

如何将事件侦听器添加到ag网格的单元格内的元素(使用js或jquery,不是Angular,不是reactjs,不是vue)

为多个元素添加事件侦听器并检测哪个元素触发事件 - jQuery

在 jQuery 中创建的元素不触发侦听器

jQuery-注册/注销元素“文档”的侦听器

从已删除的DOM元素中分离jQuery侦听器

jQuery-添加新的div事件侦听器

如何使用jquery .each()添加单个事件侦听器?

如何在尚未在 DOM [no-jQuery] 中的元素上添加事件侦听器?

无法使用 JQuery 向克隆元素添加事件侦听器 - 用于 CSS 动画

jQuery面向对象的创建dom元素并添加事件侦听器

单击侦听器从jQuery到Javascript

jQuery On Event获取对象侦听器

jQuery:输入属性更改的侦听器

jQuery事件侦听器多次触发

JQuery中的列表大小侦听器

jQuery 事件侦听器粘住/级联?

响应内容的jQuery侦听器

jQuery中的单击事件侦听器

点击侦听器中颤动 onTap() 和 javascript/jquery $(this) 之间的区别

是否有 jQuery 的 .load(); 的 jQuery 事件侦听器?

将侦听器添加到类或元素

将点击侦听器添加到动态元素中的代码有什么问题?

将点击事件侦听器添加到电子应用程序中的元素

首次使用后仅关闭特定的jQuery侦听器