我使用JQuery將項目從一個列表中拖放到另一個列表中。爲什麼JQuery將風格添加到我的附加列表項中?
項目被刪除後,它將從原始列表中刪除並附加到其目標列表中。
我已經使用了下面的代碼,它在檢查DOM時似乎表現得非常好,但它在頁面上顯示不正確。通常在列表之外並且在右上方。
我的第一個猜測是,這是一個CSS問題,但即使在刪除所有樣式表後,問題仍然存在。
Chrome檢查器中的更仔細的檢查表明,每個列表項目都添加了內聯樣式。我不確定它來自哪裏。
這是我的代碼。
$(function() {
$(".drag").draggable();
$(".drop").each(function (index){
var title = $(this).attr('title');
$(this).droppable({
accept: title,
activeClass: "ui-state-hover",
hoverClass: "ui-state-active",
drop: function(event, ui) {
ui.draggable.remove();
$(this).append(ui.draggable);
}
});
});
});
</script>
<ul>
<li class="drag RED">RED</li>
<li class="drag BLUE">BLUE</li>
</ul>
<ul class="drop" title=".RED">
<li>Stuff</li>
</ul>
<ul class="drop" title=".BLUE">
<li>Stuff</li>
</ul>
您可以使用jsfiddle將其顯示爲演示。 – 2010-09-22 06:17:51
什麼風格加錯了?顏色是否從黃色變爲粉紅色?什麼?!你在期待什麼,發生了什麼? – Reigel 2010-09-22 06:24:22
@Reigel我期待被拖動的列表項被插入到被拖動到的列表中。 DOM檢查器顯示出現這種情況,但列表項出現在列表的外部,即錯誤的位置。 – matt 2010-09-22 06:36:52