我正在创建一个拖放图像环境,如果将鼠标悬停在图像上,则会在其上方弹出一个小菜单。如果单击并拖动图像,则可以对其重新排序。
我遇到的问题是,我想在拖动时禁用悬停事件。当前,如果您在附近拖移图像,它将触发您悬停的其他图像上的所有悬停菜单。
$('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?
并节省一些时间