droppable()的“hoverClass”属性仅在第一次工作

时间:2011-07-22 14:04:44

标签: jquery jquery-ui drag-and-drop

我正在拖放POC,如下所示

http://jsbin.com/aqocok/9/edit#preview

并排有两张桌子。在那个范围内存在元素 我可以将左侧表中的<span> (ss)元素拖到右侧表(反之亦然),并且应该追加至右侧表格的<td>


当拖放到表2 的特定<td>时,由于jquery UI <td>函数的选项{{droppable()将突出显示hoverClass 1}}。

这里的问题是,这只能工作一次。当我向后拖动并尝试再次放入同一<td>时,它不会突出显示。

2 个答案:

答案 0 :(得分:2)

我对jquery-ui并不是特别熟悉,但看起来像这段代码:

//disable dragging of current td
$(this).droppable("option", "disabled", true);

在放入某些内容后禁用可放置的块。删除该代码会得到你想要的吗?

答案 1 :(得分:1)

这是因为当拖动ss时,您将css样式应用于span元素。所以罪魁祸首是以下几行:

$(ui.helper).parent().css('background-color', '#FFFFFF');

将其更改为以下行应该起作用:

$(ui.helper).parent().removeAttr('style');

但我建议你尽量减少对style属性的更改,这很容易导致这种难以追踪的bug。尝试使用添加/删除类。