Работа с jQuery-UI, можно сделать элемент перетаскиваемым, применяя метод .draggable() на mousedown событие. Затем перетащите его на другое нажатие мыши (и перетащите). Возможно ли сделать элемент перетаскиваемым и начать перетаскивание сразу одним нажатием мыши (событие mousedown).jquery-ui: немедленное перетаскивание на mousedown
Что происходит:
1) нажми синий прямоугольник и попытаться перетащить (элемент не подвижным);
2) unpress rect и попробуйте снова перетащить (элемент перемещается).
Что должен произойти:
1) нажмите синий прямоугольник и перетащите его -> элемент выполнен с возможностью перемещения.
<!DOCTYPE html>
<html>
<head>
<title>draggable() on press</title>
<meta charset='UTF-8'/>
<style>#rect{ border: 1px dotted blue; width:100px; height:100px; background-color: lightblue;}</style>
<script src='https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js'></script>
<script src='https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js'></script>
<script>
$(document).ready(function(){
console.log('document is ready');
$('#rect').mousedown(function(ev){
console.log(ev.target.id+' pressed');
$(ev.target).draggable();
// $(this).draggable(); // Works the same.
});
});
</script>
</head>
<body>
<div id='rect'></div>
</body>
</html>