javascript - 追加后单击无法正常工作
问题描述
我的代码会生成一个无限滚动,但是当我触摸每个滚动时,它会多次出现警报,这是不对的。
$(window).scroll(function() {
if ($(window).scrollTop() == $(document).height() - $(window).height()) {
var variable = "<div class='corazon'>hi</div>";
$(".hola").append(variable);
$('.corazon').on('click', function() {
alert("hola");
});
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
谢谢你。
解决方案
$('.corazon').on('click', function() {
alert("hola");
});
每次达到滚动限制时,您都会为所有具有“corazon”类的元素添加一个新的单击侦听器。
您应该在创建的元素上添加点击侦听器,而不是执行新的查询 $(".corazon") 。
试试这个:
var variable = $("<div class='corazon'>hi</div>");
$(".hola").append(variable);
variable.on('click', function() {
alert("hola");
});
推荐阅读
- flutter - Flutter 小部件焦点问题
- azure - 在 Azure 容器实例中启动已部署和终止的容器
- vba - 需要帮助结合 2 个 VBA 代码
- postgresql - 无法恢复 Postgresql 数据库出现“数据库已存在”错误
- java - 使用for循环从ArrayList中删除特定对象
- java - 尝试结束会话时应用程序崩溃..空对象引用
- ffmpeg - 如何在 ffmpeg -filter_complex 中使用本地时间绘制文本冒号?
- amazon-web-services - 无法连接到我的 aws ec2 实例 t2.medium
- c++ - 向量空 Push_back 在“{”标记之前调用预期的主表达式
- c++ - 用不同的颜色和强度照亮物体