gpt4 book ai didi

javascript - 单击不同div时单击功能起作用

转载 作者:行者123 更新时间:2023-12-03 06:54:56 24 4
gpt4 key购买 nike

我有一个名为 appendDiv 的 div,当我单击它时,会附加一个类名为 textGroup 的 div。

$("#appendDiv").on("click", function(e) {

$('#appendDiv').append("<label class='textGroup' style='width:50px;height:50px;background-color:gray;z-index:4;position:absolute;top:" + e.pageY + "px;left:" + e.pageX + "px;'></label>")

});

我有一个 textGroup div 的点击功能(即),当点击它时,会出现警报。但是,当我单击 textGroup div 时,会出现警报并附加一个 div。这就是函数

$("#appendDiv").on("click", function(e) {
$('#appendDiv').append("<label class='textGroup' style='width:50px;height:50px;background-color:gray;z-index:4;position:absolute;top:" + e.pageY + "px;left:" + e.pageX + "px;'></label>")

$(".textGroup").bind("click", function() {
alert("appended");
});
});

我知道 textGroupappendDiv 的子级。但是,我的问题是

  1. 我点击的是textGroup div,但是为什么执行了appendDiv的点击函数?

  2. 如何限制appendDiv的点击功能只有在点击appendDiv时才起作用,而不是在点击textGroup时起作用?

这是jsFiddle link

最佳答案

您的代码中有 2 个问题

1) 元素上的多个事件绑定(bind)。

2)事件传播到子点击元素

修改点击处理程序以将事件附加到最后一个附加元素,同时停止从父元素传播事件:

$("#appendDiv .textGroup:last").click( function(e) {
e.stopPropagation();
alert("hi")
});

<强> Working Demo

关于javascript - 单击不同div时单击功能起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37320186/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com