【问题标题】:Change jQuery draggable helper during drag在拖动期间更改 jQuery 可拖动助手
【发布时间】:2012-07-24 18:48:07
【问题描述】:

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

我脑子里有两个想法:

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

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

是我遗漏了什么还是不可能?

【问题讨论】:

    标签: javascript jquery jquery-ui jquery-ui-draggable


    【解决方案1】:

    您可以在拖动事件中访问助手:

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

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

    【讨论】:

      【解决方案2】:

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

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

      这个类分配将被助手克隆(与对象数据不同),然后在可拖动对象中我可以这样做;

      start: function(event, ui) {
          $(ui.helper).find(".dragLabel").css("color", "#FF0000");
          ...
      },
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-12-27
        • 2023-04-02
        • 2011-07-15
        • 1970-01-01
        • 2013-02-20
        • 1970-01-01
        • 2018-02-09
        相关资源
        最近更新 更多