angularjs拖放插件丢弃问题

时间:2013-09-08 01:50:56

标签: javascript jquery angularjs drag-and-drop

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

这是我的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');
};

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

更新:

删除时我没有在控制台中收到任何错误: enter image description here

1 个答案:

答案 0 :(得分: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 ...不确定你的目标是什么。