【问题标题】:jQuery sortable but work on clickjQuery 可排序但点击即可工作
【发布时间】:2017-03-06 09:17:21
【问题描述】:

我使用 jQuery UI Sortable 插件当然允许我的用户在列表中拖放元素,在列表更改时我正在触发 ajax 调用以保存有序列表。

但是,一位用户抱怨说,当列表需要滚动时,拖放非常困难。所以基本上我想要做的是而不是按住左键单击拖动然后释放左键单击放下。

您只需左键单击元素,它将成为活动的“拖动”元素,用户可以在屏幕上移动鼠标,它会跟随,然后在第二次左键单击禁用“拖放”元素。

我查看了他们的文档,但似乎找不到任何可以帮助我的东西 (http://api.jqueryui.com/sortable/)。有没有人有任何想法或插件可以实现这一点?

问候

【问题讨论】:

标签: javascript jquery html css jquery-ui


【解决方案1】:

这应该可以帮助您: '您只需左键单击元素,它将成为活动的“拖动”元素,用户可以在屏幕上移动鼠标,它会跟随,然后在第二次左键单击停用“拖放”元素。'

HTML:

<div id="draggable" class="ui-widget-content">
  <p>Drag me around</p>
</div>

Javascript:

$( function() {
  var dragging = false;

    $("#draggable").draggable();
  $("#draggable").mouseup(function(e){
    if(!dragging){
      dragging = true;
      e.preventDefault();
      return false;
    }
    else{
      dragging = false;
    }
  })
  } );

Codepen 示例: http://codepen.io/xszaboj/pen/JWbzax

我希望这是你需要的。

旁注。由于触发了不同的事件,这不适用于 chrome 上的触摸屏显示器。

【讨论】:

  • 我刚刚尝试了您的 codepen 示例,只需单击一下左键就没有任何反应,这也需要像 JQuery UI Sortable 那样将一个项目重新插入 UL 中
  • 对我有用 你用什么浏览器?
  • @Canvas 也适用于我,我在这里将他的代码与你的代码合并:jsfiddle.net/9sgkavd4/1 看看这是否适用于你。
  • @Zues 我用的是chrome,你用的是什么浏览器? :) 小提琴版本也不起作用,我可以确认这在 I.E. 中有效。但这需要跨浏览器工作
  • 我正在使用 chrome.. 奇怪 :) 我会尝试调查可能是什么问题
猜你喜欢
  • 1970-01-01
  • 2019-06-28
  • 1970-01-01
  • 1970-01-01
  • 2012-10-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多