jQuery: trigger a hover event from another element

后端 未结 4 1130
我在风中等你
我在风中等你 2020-11-30 05:37

When you hover over one

4条回答
  • 2020-11-30 06:20

    Try this:

    $('.initiator').on('mouseenter mouseleave', function(e) {
        $('.receiver').trigger(e.type);
    })
    

    It will apply the same triggers for the receiver as the initiator receives for both mouseenter and mouseleave. Note that:

    .hover(over, out) 
    

    is just a high-level variant of:

    .on('mouseenter', over).on('mouseleave', out)
    

    so using that information you can be more precise when binding and triggering mouse events.

    As noted in the comment, you can also use:

    $('.initiator').hover(function(e) {
        $('.receiver').trigger(e.type);
    })
    

    There are lots more to read here: http://api.jquery.com/hover/

    0 讨论(0)
  • 2020-11-30 06:28

    You could do something like-:

    $(".initiator").hover(function(){
       $(".receiver").addClass('hover');
       console.log("div was hovered");
    }, function(){
       $(".receiver").removeClass('hover');
    });
    

    And now you can have a class that holds the css rules.

    0 讨论(0)
  • 2020-11-30 06:28

    hover() is a jQuery method that ties together mouseenter and mouseleave events

    try

    $(this).find('.receiver').mouseenter()
    

    Or

     $(this).find('.receiver').trigger('mouseenter')
    

    However you will likely have far better results adding a class to the a tag and adding a new css rule.

     $(this).find('.receiver').toggleClass('hoverClass')
    
    0 讨论(0)
  • 2020-11-30 06:34

    Not sure what you mean by "hovered", but assuming you have some CSS defined for .receiver:hover pseudo class I would suggest to move them to the separate CSS class .hover and use jQuery toggleClass function.

    Here is a quick example that makes link text bold when you move mouse over the div - http://jsfiddle.net/Pharaon/h29bh/

    $(".initiator").hover(function(){
      $(".receiver").toggleClass("hover");
      console.log("div was hovered");
    });​
    
    0 讨论(0)
提交回复
热议问题