Q
添加和操作元素
0
A
回答
1
您正在將點擊偵聽器添加到全部氣泡每次創建一個新的氣泡。
用live偵聽器添加偵聽器一次。它可以在任何氣泡創建之前設置。
而且不要使用數字id
屬性,它不被HTML所接受。
此外,您正在切換active
類 - 有一個更短的功能 - toggleClass。
1
可以簡化使用此:
$(function() {
// CREATE A NEW BUBBLE
$('.drop').click(function(event){
Bubble(event);
});
var newBubbleId = 0;
function Bubble(event,bubbleClass){
// Create Element
var id = newBubbleId++;
var bubble = $('<div class="bubble" id="b_'+id+'" draggable="true"><input id="bubbleText" type="text" name="text" value="'+id+'" /></div>');
$('body').append(bubble);
// Position Element
var bubbleWidth = bubble.width();
var bubbleHeight = bubble.height();
var x = event.pageX - (bubbleWidth*0.5);
var y = event.pageY - (bubbleHeight*0.5);
bubble.offset({top:y, left:x});
bubble.click(function() {
$(this).toggleClass("active");
});
}
});
我看到一些其他的問題。如前所述的號碼ID。而且,所有的輸入元素都有相同的ID,這是不允許的。每個文檔只有一個ID。如果您希望它們具有相同的名稱,則可以使用Name屬性。
此外,您的計數器功能並不理想。
但是這應該可以解決你的問題。
+0
謝謝,一個非常有效和簡單的解決方案。我知道,我的代碼在這一點上真的很sl,,會很整潔。 –
相關問題
- 1. DOM操作在AngularJS中添加元素
- 2. 添加對通過AJAX添加的DOM元素的操作
- 3. jQuery和JSON - 添加元素
- 4. 添加和刪除元素
- 5. 陣列操作,在最後添加元素,推回其他元素
- 6. 操作Dom元素
- 7. jQuery:引用和操縱動態添加的元素的父元素
- 8. 操作附加html元素的問題
- 9. PHP數組操作追加元素
- 10. 使用Javascript DOM操作添加html元素到div
- 11. 操作數組:向重複元素添加出現次數
- 12. 對AJAX添加的元素執行操作
- 13. 在Joomla的僞元素操作中添加數據庫條目
- 14. 爲div中的元素添加懸停操作
- 15. 添加元素
- 16. 添加元素
- 17. 畫布操作與元素操作
- 18. SELECT元素的JQuery操作
- 19. jQuery元素值操作
- 20. 結構元素操作(matlab)
- 21. 元素方面的操作
- 22. 操作WPF元素樹
- 23. 數組元素操作
- 24. PHP添加操作
- 25. Tortoisegit添加操作
- 26. 添加操作欄
- 27. NSArray添加元素
- 28. 添加元素JSON
- 29. 添加TabBar元素
- 30. setOnClickListener作用域動態添加元素
根據創建的氣泡數量,它僅將類添加到偶數或奇數個氣泡。看看源代碼,我認爲這與刪除它之前不設置「active」類有關。 –