我正在创建一个拖放图像环境,如果将鼠标悬停在图像上,则会在其上方弹出一个小菜单。如果单击并拖动图像,则可以对其重新排序。

我遇到的问题是,我想在拖动时禁用悬停事件。当前,如果您在附近拖移图像,它将触发您悬停的其他图像上的所有悬停菜单。

$('ul.imglist li').mousedown(
  function() {
    $(this).find('ul')
      .fadeOut(100);
  });

// Image actions menu
$('ul.imglist li').hover(
  function() {
    $(this).find('ul')
      .css('display', 'none')
      .fadeIn('fast')
      .css('display', 'block');
  },
  function() {
    $(this).find('ul')
      .fadeOut(100);
  });


我在这里有一些jQuery,最下面的悬停事件是我要在拖动时禁用的事件,最上面的mousedown是单击图像时摆脱菜单的东西。我需要一些可以在鼠标移动的同时禁用鼠标悬停的功能,同时仍需按下键(拖动)。

我尝试了几件事却没有运气,有人建议吗?

最佳答案

有数百种方法。

    // Image actions menu
$('ul.imglist li').hover(
  function() {
    $(this).find('ul')
      .css('display', 'none')
      .fadeIn('fast')
      .css('display', 'block');
  },
  function() {
    $(this).find('ul')
      .fadeOut(100);
  });


应该在mouseup事件上...
然后即使按下鼠标,您也可以取消悬停事件。
通过查找绑定和解除绑定的方式

但是为什么不使用可拖动的ui?
并节省一些时间

08-25 11:04
查看更多