android連續(xù)拖動(dòng)導(dǎo)致掛起的解決方法
當(dāng)我保持對(duì)連續(xù)將對(duì)象拖有時(shí)在移動(dòng)后 5 6 拖/滴,看到有時(shí)不獲取對(duì)象還原不回來(lái),我不能用于以后。
基本上我有對(duì)兩個(gè)對(duì)象組的 canvas 在 time 可以有最大的兩個(gè)圖像不是更多比,也看到圖像
為什么會(huì)發(fā)生呢,我們?nèi)绾畏乐梗?/p>
(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);
以上所述就是本文的全部?jī)?nèi)容了,希望大家能夠喜歡。
- Android使用WindowManager構(gòu)造懸浮view
- 通過(guò)案例分析Android WindowManager解析與騙取QQ密碼的過(guò)程
- Android自定義View實(shí)現(xiàn)拖動(dòng)選擇按鈕
- Android 可拖動(dòng)的seekbar自定義進(jìn)度值
- Android編程之控件可拖動(dòng)的實(shí)現(xiàn)方法
- Android編程實(shí)現(xiàn)圖標(biāo)拖動(dòng)效果的方法
- Android編程實(shí)現(xiàn)圖片的瀏覽、縮放、拖動(dòng)和自動(dòng)居中效果
- 在android中實(shí)現(xiàn)類似uc和墨跡天氣的左右拖動(dòng)效果
- android 添加隨意拖動(dòng)的桌面懸浮窗口
- Android使用WindowManager制作一個(gè)可拖動(dòng)的控件
相關(guān)文章
Android自定義實(shí)現(xiàn)一個(gè)車牌字母選擇鍵盤(pán)
這篇文章主要為大家詳細(xì)介紹了Android如何自定義實(shí)現(xiàn)一個(gè)車牌字母選擇鍵盤(pán),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-06-06
Android 矢量室內(nèi)地圖開(kāi)發(fā)實(shí)例
這篇文章主要介紹了Android 矢量室內(nèi)地圖開(kāi)發(fā)實(shí)例的相關(guān)資料,這里提供代碼實(shí)例,及實(shí)現(xiàn)效果圖,矢量室內(nèi)對(duì)圖簡(jiǎn)單DEMO,需要的朋友可以參考下2016-11-11
Android編程實(shí)現(xiàn)AlertDialog自定義彈出對(duì)話框的方法示例
這篇文章主要介紹了Android編程實(shí)現(xiàn)AlertDialog自定義彈出對(duì)話框的方法,結(jié)合實(shí)例形式分析了Android AlertDialog自定義彈出對(duì)話框的基本功能與事件監(jiān)聽(tīng)實(shí)現(xiàn)技巧,需要的朋友可以參考下2017-07-07
Android顯式啟動(dòng)與隱式啟動(dòng)Activity的區(qū)別介紹
為什么要寫(xiě)顯式啟動(dòng)與隱式啟動(dòng)Activity,Android的Acitivity啟動(dòng)大致有兩種方式:顯式啟動(dòng)與隱式啟動(dòng),下面分別介紹2014-09-09
Android Studio 下 Flutter 開(kāi)發(fā)環(huán)境搭建過(guò)程
這篇文章主要介紹了Android Studio 下 Flutter 開(kāi)發(fā)環(huán)境搭建/Flutter / Dart 插件安裝 | Flutter SDK 安裝 | 環(huán)境變量配置 | 開(kāi)發(fā)環(huán)境檢查,本文圖文并茂給大家介紹的非常詳細(xì),需要的朋友可以參考下2020-03-03
Android實(shí)現(xiàn)簡(jiǎn)單畫(huà)圖畫(huà)板
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)簡(jiǎn)單畫(huà)圖畫(huà)板,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-01-01
Android編程自定義菜單實(shí)現(xiàn)方法詳解
這篇文章主要介紹了Android編程自定義菜單實(shí)現(xiàn)方法,結(jié)合實(shí)例形式分析了Android自定義菜單的布局、動(dòng)畫(huà)及功能相關(guān)實(shí)現(xiàn)技巧與注意事項(xiàng),需要的朋友可以參考下2017-02-02

