Почему этот код не работает на мобильном устройстве?

Я хочу использовать эту функцию перетаскивания и на мобильных устройствах, но когда я запускаю ее на своих мобильных телефонах, она не работает.

Вот код:

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

$('.drop-field').on('dragover',function(e) {
	//console.log('dragover',e);
	e.preventDefault();
}).on('drop',function(e) {
	e.preventDefault();
	//window.status = 'successfully dragged';
	console.log('drop',e,window.status);
	data = e.originalEvent.dataTransfer.getData("text");
	$(this).append(copy ? $('#' + data).clone() : $('#' + data));
});
.drop-field {
	border: 4px #287CA1 dashed;
	display: inline-block;
	min-width: 50px;
	height: 50px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="dragArea">
	<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">
	<span class="drop-field"></span>
	<span class="drop-field"></span>
</div>


person der122345    schedule 02.05.2016    source источник


Ответы (1)


Вероятно, потому, что функции перетаскивания используют mousedown и mouseup, которые не совместимы с мобильными устройствами.

Вот связанная тема: Как получить jquery перетаскивание работает на мобильных устройствах? где предлагается решение для использования jQuery UI Touch Punch (которое преобразует события щелчка в события касания).

person Nico_    schedule 02.05.2016
comment
Код не обновлялся больше года, поэтому он может больше не работать. - person Nico_; 02.05.2016
comment
как я могу запустить код на мобильном телефоне, или есть другая альтернатива - person der122345; 12.05.2016