jQuery拖放后读取DOM
你好jQuery拖放后读取DOM,jquery,drag-and-drop,Jquery,Drag And Drop,你好 我尝试使用jQuery进行拖放,然后读取DOM。在drop函数中,我使用append()方法将draggable追加到新位置。但可能只有在drop()方法完成后,而不是append()方法完成后,才能从旧位置删除draggable。 这听起来可能很奇怪,但这里有一个例子。 这是我的javascript: <code> $(document).ready(function(){ $('div.drag').draggable({
我尝试使用jQuery进行拖放,然后读取DOM。在drop函数中,我使用append()方法将draggable追加到新位置。但可能只有在drop()方法完成后,而不是append()方法完成后,才能从旧位置删除draggable。 这听起来可能很奇怪,但这里有一个例子。 这是我的javascript:
<code>
$(document).ready(function(){
$('div.drag').draggable({
helper : 'clone',
opacity : 0.3
});
$('td.cell').droppable({
accept : function(draggable){
if($(this).find('.drag').length > 0){
return false;
}
return true;
},
drop : function(event, ui) {
$(this).append(ui.draggable);
$('#myTable').change();
}
});
$('#myTable').change(function() {
var table = document.getElementById('myTable');
var trList = table.getElementsByTagName('tr');
var resultString = '';
for (var i=0; i < trList.length; i++)
{
var tdList = trList[i].getElementsByTagName('td');
for (var j=0; j < tdList.length; j++)
{
if(tdList[j].getElementsByTagName('div').length > 0){
resultString+='row' + i + ' column ' + j + ';';
}
}
}
$('#result').text(resultString);
});
});
<code>
这是我的html代码片段:<code>
<div class="drag">drag me</div>
<table id="myTable" border="1" cellpadding="0" cellspacing="0">
<tr>
<td class="cell"> </td>
<td class="cell"> </td>
<td class="cell"> </td>
</tr>
<tr>
<td class="cell"> </td>
<td class="cell"> </td>
<td class="cell"> </td>
</tr>
<tr>
<td class="cell"> </td>
<td class="cell"> </td>
<td class="cell"> </td>
</tr>
</table>
<div id="result"></div>
<code>
因此,当我拖动时,不仅在result div中有新位置,而且前面的位置也存在
我怎样才能避免呢