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
  • asp之家 软件编程 m.aspxhome.com