我想每次點擊按鈕時創建一個圓,但是一旦點擊它,它會創建一個圓,但是當我再次點擊它時,什麼都不會發生。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