Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在jQuery UI元素上重复拖动失败 我试图为一个相当复杂的购物车准备一个简单的拖放基础。我以前从未使用过jQueryUI,我刚刚制作了一个演示主要概念的原型_Jquery_Jquery Ui_Jquery Ui Draggable_Jquery Droppable - Fatal编程技术网

在jQuery UI元素上重复拖动失败 我试图为一个相当复杂的购物车准备一个简单的拖放基础。我以前从未使用过jQueryUI,我刚刚制作了一个演示主要概念的原型

在jQuery UI元素上重复拖动失败 我试图为一个相当复杂的购物车准备一个简单的拖放基础。我以前从未使用过jQueryUI,我刚刚制作了一个演示主要概念的原型,jquery,jquery-ui,jquery-ui-draggable,jquery-droppable,Jquery,Jquery Ui,Jquery Ui Draggable,Jquery Droppable,简而言之,购物车有几个容器,其中可能包含任意数量的可拖动资产。这只是一次又一次的跳水。应允许将资产放入任何容器中。我已经开始了初始交互,但一旦我将一个资源放到另一个容器中,并尝试将同一个资源拖回或拖到另一个容器中,拖动就不会跟随光标,尽管拖放确实有效 我在这里发布了代码: 以下是我的JavaScript: var cartDragger, move; cartDragger = (function() { function cartDragger(el, contain) { t

简而言之,购物车有几个容器,其中可能包含任意数量的可拖动资产。这只是一次又一次的跳水。应允许将资产放入任何容器中。我已经开始了初始交互,但一旦我将一个资源放到另一个容器中,并尝试将同一个资源拖回或拖到另一个容器中,拖动就不会跟随光标,尽管拖放确实有效

我在这里发布了代码:

以下是我的JavaScript:

var cartDragger, move;

cartDragger = (function() {

  function cartDragger(el, contain) {
    this.el = el;
    this.contain = contain;
  }

  cartDragger.prototype.drag = function() {
    return $(this.el).draggable({
      revert: 'invalid',
      start: function() {
        this.currentParent = $(this).parent().attr('id');
        return $(this).addClass('highlighted');
      }
    });
  };

  cartDragger.prototype.drop = function() {
    return $(this.contain).droppable({
      accept: this.el,
      over: function() {
        return $(this).removeClass('out').addClass('over');
      },
      out: function() {
        return $(this).removeClass('over').addClass('out');
      },
      drop: function(event, ui) {
        $(this).removeClass('over');
        ui.draggable.removeClass('highlighted');
        if (this.currentParent !== $(this).attr('id')) {
          return ui.draggable.appendTo($(this)).removeAttr('style');
        }
      }
    });
  };

  return cartDragger;

})();

move = new cartDragger('.asset', '.project');
move.drag();
move.drop();

我不知道为什么在一些移动后辅助对象不存在,但您可以使用一种解决方法来创建克隆辅助对象,如下所示:


谢谢你的意见,我也是这样结束的。我不喜欢我的特定互动的克隆人,但我似乎不能做任何其他方式。
  cartDragger.prototype.drag = function() {
    return $(this.el).draggable({
      revert: 'invalid',
      helper:function() {
        return $(this).clone();
      },
      opacity : '0.6',
      start: function() {
        this.currentParent = $(this).parent().attr('id');
        return $(this).addClass('highlighted');
      }
    });
  };