2016-05-02 35 views
-1

我想在移動設備上也使用這種拖放功能,但是當我在手機上運行它時不起作用。爲什麼此代碼無法在移動設備上使用?

下面是代碼:

copy = 1; 
 
$('.dragArea img').on('dragstart',function(e) { 
 
\t console.log('dragge it!',e); 
 
\t e.originalEvent.dataTransfer.setData("text",e.target.id); 
 
}).on('dragend',function(e) { 
 
\t console.log('dragged',e); 
 
}); 
 

 
$('.drop-field').on('dragover',function(e) { 
 
\t //console.log('dragover',e); 
 
\t e.preventDefault(); 
 
}).on('drop',function(e) { 
 
\t e.preventDefault(); 
 
\t //window.status = 'successfully dragged'; 
 
\t console.log('drop',e,window.status); 
 
\t data = e.originalEvent.dataTransfer.getData("text"); 
 
\t $(this).append(copy ? $('#' + data).clone() : $('#' + data)); 
 
});
.drop-field { 
 
\t border: 4px #287CA1 dashed; 
 
\t display: inline-block; 
 
\t min-width: 50px; 
 
\t height: 50px; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="dragArea"> 
 
\t <img src="http://lorempixel.com/image_output/city-q-g-640-480-4.jpg" width="50" height="50" alt="logo" id="logo" /> 
 
</div> 
 
<div class="dropArea"> 
 
\t <span class="drop-field"></span> 
 
\t <span class="drop-field"></span> 
 
</div>

回答

0

大概是因爲拖放功能使用鼠標按下和鼠標鬆開,它不適合移動設備兼容。

這是一個鏈接的主題:How to get jquery dragging working on mobile devices?其中建議使用jQuery UI Touch Punch(將點擊事件轉換爲觸摸事件)的解決方案。

+0

謝謝,但它不起作用我測試過它 – der122345

+0

有代碼已超過一年未更新,因此它可能不再工作。 –

+0

我如何讓代碼比在手機上運行,​​還是有其他替代方案 – der122345

相關問題