如何使jquery可排序项仅在单击该项后才可拖动?
我有一个可排序的菜单可以正常工作,但是我在每个可排序的项目上都有一个单击事件,现在如果拖动和排序菜单,那么单击事件将同时触发,我想要的是,只能在我单击它之后拖动可排序的项目,就像只能拖动活动项目一样如何使jquery可排序项仅在单击该项后才可拖动?,jquery,draggable,jquery-ui-sortable,Jquery,Draggable,Jquery Ui Sortable,我有一个可排序的菜单可以正常工作,但是我在每个可排序的项目上都有一个单击事件,现在如果拖动和排序菜单,那么单击事件将同时触发,我想要的是,只能在我单击它之后拖动可排序的项目,就像只能拖动活动项目一样 如何执行此操作?您需要在触发单击事件后启用拖动: $('#target').click(function() { $('#target').draggable(); }); 有几个想法: 取消拖动,除非给定元素是“选定”元素: (function() { var selectedTarge
如何执行此操作?您需要在触发单击事件后启用拖动:
$('#target').click(function() {
$('#target').draggable();
});
有几个想法:
取消拖动,除非给定元素是“选定”元素:
(function() {
var selectedTarget = null;
$('.target').draggable({ drag: function(event, ui) {
if(this != selectedTarget) return false;
});
$('.target').click(function() { selectedTarget = this; });
});
稍微延迟拖动开始(有足够的时间让单击事件传播):
这两种方法都是基于所有可排序对象都有
target
class的基础上工作的,您能详细说明一下吗?也许会显示一些代码?
(function() {
$( ".target" ).draggable({ delay: 500 });
});