6

我在我的项目中使用了 angular-dragdrop.js lib,但我遇到了 drop 回调函数的问题。所有其他回调函数都在工作。我多次调试我的代码但找不到答案,有人遇到过这个问题吗?

这是我的html和js代码:

HTML:

<li class="li-draggable" data-drag="true"
           jqyoui-draggable="{animate: true, 
                              placeholder: 'keep', 
                              onStart: 'startCallback', 
                              onStop: 'stopCallback',
                              onDrag: 'dragCallback'}"
           data-jqyoui-options="{snap: true, cursor: 'move', revert: 'invalid', helper: 'clone'}">
           <a>Text <i class="icon-pencil pull-right"></i></a>
</li>
<div class="dummyCell" data-drop="true"
             jqyoui-droppable="{multiple: true,
                               onDrop: 'dropCallback',
                               onOver: 'overCallback',
                               onOut: 'outCallback'}"
             data-jqyoui-options="{hoverClass: 'hoverClass'}"></div>

JS:

$scope.startCallback = function(event, ui) {
    console.log('You started draggin');
};

$scope.stopCallback = function(event, ui) {
    console.log('Why did you stop draggin me?');
};

$scope.dragCallback = function(event, ui) {
    console.log('hey, look I`m flying');
};

$scope.dropCallback = function(event, ui) {
    console.log('hey, doneeeeeee');
};

$scope.overCallback = function(event, ui) {
    console.log('Look, I`m over you');
};

$scope.outCallback = function(event, ui) {
    console.log('I`m not, hehe');
};

任何帮助将不胜感激。谢谢。

更新:

删除时我在控制台中没有收到任何错误: 在此处输入图像描述

4

2 回答 2

4

您正在寻找的答案:ngModel是必需的。故障排除详情如下...

您的选项组合引发了一些奇怪的错误Syntax Error: Token '=' implies assignment but [undefined ] can not be assigned to at column 11 of the expression [undefined = __dragItem] starting at [= __dragItem]. http://jsfiddle.net/RWgX9/

从一个新的例子开始,onDrop确实有效:http: //jsfiddle.net/HsNRS/

如果您将其分解为空,它仍然会引发错误:http: //jsfiddle.net/RWgX9/1/

我认为ngModel可能是必需的,因为一旦添加它,错误就会消失:http: //jsfiddle.net/RWgX9/2/

并将其添加回您的原始代码,它现在似乎可以工作:http: //jsfiddle.net/RWgX9/3/

按照它的方式工作,我hey, doneeeeeee在控制台中看到......虽然不确定你对 UI 的目标是什么。

于 2013-09-08T04:27:07.027 回答
0

有同样的问题,但使用了 ng-model。我花了几个小时才意识到,出于某种原因,我使用的是旧的 Angular 版本(1.0.1),这就是 onDrop 不起作用而 onDrag 起作用的原因。也许这对某人有用。

于 2015-05-02T10:38:15.047 回答