Javascript keep:将鼠标悬停在拖动jquery元素上

Javascript keep:将鼠标悬停在拖动jquery元素上,javascript,jquery,html,css,jquery-ui,Javascript,Jquery,Html,Css,Jquery Ui,我有一个带有元素的站点,其中CSS类有一个:hover状态,显示一个大纲。 这样行。 然而: 当我开始拖动这个对象(可排序的一部分)时,悬停效果被移除,Jquery draggable不会保持:hover状态 一旦删除,css悬停状态将不会再次出现,我必须离开对象并重新输入它,以使css效果出现 有什么办法可以解决这些问题吗?我不认为这种方法在不同的浏览器中都是统一实现的,所以根据您使用的浏览器,您可能会遇到不同的行为。最好的方法是在鼠标移动时将CSS类添加到元素中,并在鼠标移动时删除该类 在C

我有一个带有元素的站点,其中CSS类有一个:hover状态,显示一个大纲。 这样行。 然而:

  • 当我开始拖动这个对象(可排序的一部分)时,悬停效果被移除,Jquery draggable不会保持:hover状态

  • 一旦删除,css悬停状态将不会再次出现,我必须离开对象并重新输入它,以使css效果出现


  • 有什么办法可以解决这些问题吗?

    我不认为这种方法在不同的浏览器中都是统一实现的,所以根据您使用的浏览器,您可能会遇到不同的行为。最好的方法是在鼠标移动时将CSS类添加到元素中,并在鼠标移动时删除该类

    在CSS声明中添加一个类,如:

    .object:hover,
    .object.hover {
        border: 1px solid red;
    }
    
    通过绑定开始和停止在您的排序表中添加和删除类,如:

    $("#list").sortable({
        [..your other configs..],
        start: function( e, ui){
            ui.item.addClass('hover');
            ui.helper.addClass('hover');
        },
        stop: function( e, ui){
            ui.item.removeClass('hover');
            ui.helper.removeClass('hover');
        }
    });
    
    如果要在放置后保留hover类,可以尝试以下方法:

    $(".object").mouseenter( function(){
        $(this).addClass("hover");
    }).mouseleave( function(){
        $(this).removeClass("hover");
    });
    $("#list").sortable({
        [..your other configs..],
        start: function( e, ui){
            ui.item.addClass('hover');
            ui.helper.addClass('hover');
        },
        stop: function( e, ui){
            // don't remove: ui.item.removeClass('hover');
            // don't remove: ui.helper.removeClass('hover');
        }
    });
    

    请参见小提琴中的此处:

    很好,很简单,我喜欢它,我没有添加第二个代码,因为第一个代码也已经将类添加到助手中了。。。