首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >jQuery UI可拖动的自定义帮助器

jQuery UI可拖动的自定义帮助器
EN

Stack Overflow用户
提问于 2011-12-14 17:09:09
回答 2查看 46.9K关注 0票数 17

我有一个可拖动的jQuery UI,并且我试图创建一个包含原始元素的一些但不是全部信息的自定义帮助器。

下面是我的可拖动元素;

代码语言:javascript
复制
<ul>
  <li><div>Name</div> <span>12-12-2011</span></li>
  <li><div>Another name</div> <span>12-12-2011</span></li>
</ul>

和jQuery;

代码语言:javascript
复制
$("ul li").draggable(function(){
  helper: function(){
    return $("<div></div>");
  }
});

其想法是,在拖动时,用户将拥有一个仅包含名称而不包含时间元素的帮助器。

我的实际代码甚至比这稍微复杂一些,所以我真正寻找的是任何选择器,它允许我选择原始元素或它的副本,然后对它执行各种jQuery魔术(过滤元素、添加新元素、类等)。

然而,在我的生活中,我找不到这个,draggable的文档很糟糕,#jquery没有人会帮助我。有什么想法吗?

提前感谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-12-14 17:24:19

首先,您调用draggable的方式是错误的。需要的参数是对象文字,而不是函数。

thishelper函数中当前拖动的元素。

具有以下html

代码语言:javascript
复制
<ul>
  <li><div class="name">Name</div> <span>12-12-2011</span></li>
  <li><div class="name">Another name</div> <span>12-12-2011</span></li>
</ul>

您可以这样做:

代码语言:javascript
复制
$('ul li').draggable({
    helper: function() {
        //debugger;
        return $("<div></div>").append($(this).find('.name').clone());
    }
});

注意:我已经将类添加到表示该名称的<div>中,以便选择它,但您可以找到任何其他方法来完成此操作。

这里有一个jsfiddle供您查看。

票数 33
EN

Stack Overflow用户

发布于 2011-12-14 17:23:46

一种可能的解决方案是

小提琴:http://jsfiddle.net/SWbse/

代码语言:javascript
复制
   $(document).ready(function() {
      $("ul li").draggable({
         helper: 'clone',
         start: function(event, ui){
            ui.helper.children('span').remove();
         }    
     });
   });
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8501887

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档