кнопки не могут быть сделаны перетаскиваемыми с помощью jQuery UI draggable()
Образец jQUery UI draggables
с именем Default
говорит, что:
Но я не могу заставить их работать с элементамиВключить перетаскиваемую функциональность на любом элементе DOM.
button
.
Я изменил образец Default
, чтобы он выглядел следующим образом:
Я только что изменил элемент div на кнопку с type="button"
:
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>jQuery UI Draggable - Default functionality</title>
<link rel="stylesheet" href="../../themes/base/jquery.ui.all.css">
<script src="../../jquery-1.9.1.js"></script>
<script src="../../ui/jquery.ui.core.js"></script>
<script src="../../ui/jquery.ui.widget.js"></script>
<script src="../../ui/jquery.ui.mouse.js"></script>
<script src="../../ui/jquery.ui.draggable.js"></script>
<link rel="stylesheet" href="../demos.css">
<style>
#draggable { width: 150px; height: 150px; padding: 0.5em; }
</style>
<script>
$(function() {
$( "#draggable" ).draggable();
});
</script>
</head>
<body>
<button type="button" id="draggable" class="ui-widget-content">
<p>Drag me around</p>
</button>
<div class="demo-description">
<p>Enable draggable functionality on any DOM element. Move the draggable object by clicking on it with the mouse and dragging it anywhere within the viewport.</p>
</div>
</body>
</html>
Как я могу заставить функциональность draggables работать на элементе button?
1 ответ:
Использование
cancel: false
, кажется, работает для меня.$(function() { $( "#draggable" ).draggable({ cancel: false }); });
Jsfiddle
Я предполагаю, что без отмены срабатывает только событие щелчка по умолчанию кнопки, а сcancel вы предотвращаете событие щелчка по умолчанию.