Kev*_*sox 4 javascript jquery jquery-ui
我在jQuery UI中收到一个错误,当我尝试在删除它后销毁一个draggable.我正在使用jQuery 1.9.1和jQuery UI 1.10.0.
脚本
$(".drag").draggable({
revert: "invalid",
helper: "clone"
});
$(".drop").droppable({
accept: ".drag",
drop: function(event,ui){
ui.helper.remove();
$(this).append(ui.draggable);
$(ui.draggable).draggable("destroy");
}
});
Run Code Online (Sandbox Code Playgroud)
HTML
<div class="drag">Draggable</div>
<div class="drop">Droppable</div>
Run Code Online (Sandbox Code Playgroud)
示例: http ://jsfiddle.net/feDME/
收到错误
TypeError:$(...).data(...)未定义
过去几个小时我一直没有运气.我发现了一个不含分辨率的类似帖子.有人可以帮我从这里出去吗?谢谢!
看起来jquery-ui可拖动代码中存在竞争条件,它在拖动停止时尝试设置光标.以下行失败,因为"draggable"数据没有附加到可拖动的div但是在调用stop时.
var o = $(this).data('draggable').options;
Run Code Online (Sandbox Code Playgroud)
这有点像黑客,但这个setTimeout会修复它.
$(".drop").droppable({
accept: ".drag",
drop: function(event,ui){
ui.helper.remove();
$(this).append(ui.draggable);
setTimeout(function() {
$(ui.draggable).draggable("destroy");
}, 0);
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2374 次 |
| 最近记录: |