android连续拖动导致挂起的解决方法
作者:hebedich 时间:2021-08-06 07:11:39
当我保持对连续将对象拖有时在移动后 5 6 拖/滴,看到有时不获取对象还原不回来,我不能用于以后。
基本上我有对两个对象组的 canvas 在 time 可以有最大的两个图像不是更多比,也看到图像
为什么会发生呢,我们如何防止?
(function () {
var canvas = new fabric.Canvas('canvas');
var canvas_el = document.getElementById('canvas');
var canvas1 = new fabric.Canvas('canvas1');
var group;
fabric.Image.fromURL('img/blank.png', function (img) {
var img1 = img.set({
left: 0,
top: 0
});
fabric.Image.fromURL('img/blank.png', function (img) {
var img2 = img.set({
left: 0,
top: 0
});
group = new fabric.Group([img1, img2], {
left: 0,
top: 0
});
canvas.add(group)
});
});
fabric.Image.fromURL('img/blank.png', function (img) {
var img1 = img.set({
left: 0,
top: 0
});
fabric.Image.fromURL('img/blank.png', function (img) {
var img2 = img.set({
left: 0,
top: 0
});
group1 = new fabric.Group([img1, img2], {
left: 0,
top: 0
});
canvas1.add(group1)
});
});
$(document).ready(function () {
/* Define drag and drop zones */
var $drop = $('#canvas-drop-area,#canvas-drop-area1'),
$gallery = $('td > #image-list li'),
$draggedImage=null;
/* Define the draggable properties */
$gallery.draggable({
helper: 'clone',
start: function (e) {
$draggedImage=event.target;
$drop.css({
'display': 'block'
})
},
stop: function () {
$(this).find('img').css({
/* 'opacity': 0.4 */
});
$drop.css({
'display': 'none'
});
$draggedImage=null;
},
revert: true
});
/* Define the events for droppable properties */
$drop.droppable({
over: function (event, ui) {
$(this).addClass('active');
},
drop: function (event, ui) {
var image =$draggedImage&& $draggedImage.src;
console.log($draggedImage.alt);
img_to_canvas(image,$draggedImage.alt,$(event.target).is("#canvas-drop-area")?1:2);
},
out: function (event, ui) {
$(this).removeClass('active');
},
deactivate: function (event, ui) {
$(this).removeClass('active');
}
});
});
var img_to_canvas = function(image,sendfront,checkcanvas) {
var img = new Image();
img.src = image;
if(checkcanvas =='1'){
if(sendfront=='top'){
fabric.util.loadImage(img.src, function (img) {
group.item(0).setElement(img);
canvas.renderAll();
});
}else{
fabric.util.loadImage(img.src, function (img) {
group.item(1).setElement(img);
canvas.renderAll();
});
}
canvas.calcOffset();
}else{
if(sendfront=='top'){
fabric.util.loadImage(img.src, function (img) {
group1.item(0).setElement(img);
canvas1.renderAll();
});
}else{
fabric.util.loadImage(img.src, function (img) {
group1.item(1).setElement(img);
canvas1.renderAll();
});
}
canvas1.calcOffset();
}
}
})();
解决方法
更改
$drop.droppable({
over: function (event, ui) {
$(this).addClass('active');
},
drop: function (event, ui) {
var image =$draggedImage&& $draggedImage.src;
为
$drop.droppable({
over: function(event, ui) {
$(this).addClass('active');
},
drop: function(event, ui) {
$draggedImage = ui.draggable.find("img").get(0);
以上所述就是本文的全部内容了,希望大家能够喜欢。
标签:android,连续拖动,导致挂起
0
投稿
猜你喜欢
RabbitMQ消息中间件示例详解
2021-12-10 23:09:58
解决idea web 配置相对路径问题
2022-01-12 06:48:40
Android网格布局GridView学习使用
2023-02-07 15:03:13
java 中HttpClient传输xml字符串实例详解
2023-11-24 13:40:54
C#实现TCP连接信息统计的方法
2022-12-04 16:31:46
VScode 打造完美java开发环境最新教程
2023-02-24 16:02:10
android实现软件自动更新的步骤
2022-12-27 00:48:17
C#窗体程序实现全屏及取消全屏步骤
2023-02-18 11:48:38
java日志打印的完全使用指南
2023-07-02 15:02:28
Android实现拍照、录像、录音代码范例
2021-08-16 09:31:40
Java使用JDBC实现Oracle用户认证的方法详解
2022-10-06 08:59:36
Java详解实现多线程的四种方式总结
2023-04-04 19:43:34
浅谈Mybatis之参数传递的几种姿势
2021-06-20 01:26:54
Flutter实现顶部导航栏功能
2023-03-10 17:13:48
springboot @Async 注解如何实现方法异步
2023-11-18 18:16:03
Java发送报文与接收报文的实例代码
2023-07-09 04:44:01
C#实现只运行单个实例应用程序的方法(使用VB.Net的IsSingleInstance)
2023-06-16 07:54:29
Kotlin下Rxjava的基础用法及流式调用示例详解
2022-08-09 18:20:15
java递归菜单树转换成pojo对象
2022-08-12 04:04:40
详解Java8与Runtime.getRuntime().availableProcessors()
2023-01-04 18:17:06