如何在单击项目后才能使jquery可排序项目可拖动?

时间:2013-09-05 05:48:55

标签: jquery draggable jquery-ui-sortable

我有一个可排序的菜单工作正常,但我在每个可排序的项目上都有一个点击事件,现在如果拖动和排序菜单点击事件同时被触发,我想要的是可排序的项目只能被删除点击它之后,可以像拖动活动项一样。

我该怎么做?

2 个答案:

答案 0 :(得分:0)

您需要在点击事件触发后启用拖动:

$('#target').click(function() {
  $('#target').draggable();
});

答案 1 :(得分:0)

一些想法:

取消拖动,除非给定的元素是“选中的”元素:

(function() {
  var selectedTarget = null;
  $('.target').draggable({ drag: function(event, ui) { 
    if(this != selectedTarget) return false; 
  });
  $('.target').click(function() { selectedTarget = this; });
});

稍微延迟拖动开始(单击事件有足够的时间传播):

(function() {
  $( ".target" ).draggable({ delay: 500 });
});

这两项工作都是基于所有可排序对象都具有target