0

jQuery mouseenter 事件未在鼠标输入中触发它在单击时触发

function showOverlap() {
    var hits = $('.follower').collision('#slides li');
    $(hits).trigger('mouseenter');
}

$('.container1').mouseenter(function() {
    showOverlap();
});

$('#slides li').on('mouseenter',function(){
    $('#slides li').removeClass('selectedMenu');
    $(this).addClass('selectedMenu');
});

JsBin http://jsbin.com/urEpESAM/19/edit

如果在 mouseMove 中写入 mouseenter 事件,这里工作正常,但它变得慢得多

4

3 回答 3

1

试试这个

$(document).on({
    mouseenter: function() {
        $('#slides li').removeClass('selectedMenu');
        $(this).addClass('selectedMenu');
    },
    mouseleave: function() {
       // Do stuff when mouse leaves `#slides li`
    }
}, "#slides li");
于 2013-12-03T17:12:28.887 回答
0

如果要触发 mouseenter 事件,则需要绑定该事件。你的问题不是鼠标输入。

看看这里:http: //jsfiddle.net/stryd3r/mA3wy/

你的问题是: $(hits).trigger('mouseenter');

于 2013-12-03T17:15:49.173 回答
0

这应该可以解决问题:

 function showOverlap() {
    var hits = $('.follower').collision('#slides li');
    $(hits).trigger('mouseenter');
}

$('.container1').mouseenter(function() {
    showOverlap();
});

$(this).bind('mouseenter',function(){
    alert("in");
    $('#slides li').removeClass('selectedMenu');
    $(this).addClass('selectedMenu');
});

演示

于 2013-12-03T17:56:38.177 回答