我想每次点击按钮时创建一个圆,但是一旦点击它,它会创建一个圆,但是当我再次点击它时,什么都不会发生。jQuery点击只能工作一次
$(document).ready(function() {
var circle = $("<div class='circleClass'></div>");
$(".t-testbody").on("click", "#clickMe", function() {
$(".t-testbody").append(circle);
});
});
.t-testbody {
margin-top: 100px;
margin-left: 50px;
}
.circleClass {
width: 50px;
height: 50px;
border-radius: 100%;
background-color: blue;
display: inline-block;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="t-testbody">
<div class="circleClass"></div>
<button id="clickMe">Button</button>
</div>
您的观察错误(但可以理解):每次单击按钮时都会执行事件处理程序。至少你可以很容易地找到你自己的(例如通过在处理程序中添加断点)。问题是你试图一遍又一遍地追加*相同的*元素。如果追加一个已经在文档中的元素,它将从当前位置移除并插入到新文档中。在你的情况下,这是相同的立场,这就是为什么你没有看到任何改变。 –
我现在明白了,这真的很好解释非常感谢。 – eustass