3

我正在尝试根据拖动元素所在位置的上下文来更改可拖动的帮助器(表明您可以通过更改帮助器将元素放在那里)。

我脑子里有两个想法:

  1. 将助手声明为函数,并返回适当的助手。不幸的是,该函数仅在拖动开始时被调用一次。

  2. 在拖动事件中,更改助手。这听起来像是最好的选择。问题是我找不到如何将帮助程序更改为特定的 DOM 元素(仅接受的值是“克隆”、“原始”和函数。

我错过了什么或者这是不可能的吗?

4

2 回答 2

3

您可以在拖动事件中访问帮助程序:

$('#list').draggable({helper:'clone'});

$("#list").bind("drag", function(event, ui) {
    ui.helper.css("background-color", "red");
});

UI 参数是指被拖动的元素。ui.helper 是当前助手的实例,可以即时修改。

于 2012-07-24T21:32:35.433 回答
0

在我的例子中,可拖动是 Adob​​e Edge 的一个符号,所以我必须在一个类中为其中一个“层”播种,然后我可以在拖动时更改它。因此,当创建符号时,我这样做了;

drag.$("drag_label").addClass("dragLabel");

此类分配将使用助手克隆(与对象数据不同),然后在可拖动对象中我可以执行此操作;

start: function(event, ui) {
    $(ui.helper).find(".dragLabel").css("color", "#FF0000");
    ...
},
于 2014-11-26T17:56:48.423 回答