鼠标悬停和鼠标悬停问题

时间:2012-12-19 11:47:06

标签: javascript jquery mouseover mouseout

所以我遇到了问题,因为我想从DIV背景中移除鼠标变成红色,这是有效的,但是当我在div内部的标题上移动鼠标时,它已经发生了这个鼠标事件出来了!我该怎么做?

以下是代码:http://jsfiddle.net/eluminium/t5YEC/1/

var $imoveis = $('.imoveis');
$imoveis.mouseover(function() {
    var index = $(this).index();
});

$imoveis.mouseout(function() {
    var index = $(this).index();
    $imoveis.eq(index).css({
        background: 'red'
    });
})​;​

3 个答案:

答案 0 :(得分:1)

尝试绑定mouseleave事件

function imoveis(){
    var $imoveis = $('.imoveis');

    $imoveis.mouseover(function(){
        var index = $(this).index();
    });

    $imoveis.mouseleave(function(){
        var index = $(this).index();

        $imoveis.eq(index).css({
            background: 'red'
        });
     });
}

Demo

Documentation

答案 1 :(得分:0)

试试这个伴侣

 $(document).ready(function(){
          $('.imoveis').hover(function () {
              var index = $(this).index();
          }, function () {
            var index = $(this).index();
                $('.imoveis').eq(index).css({background: 'red'});

          });    
      });

在这里演示:http://jsfiddle.net/QZAXW/

答案 2 :(得分:0)

你可以这样做:

<强>的Javascript

$(document).ready(function() {

    $('.imoveis').on('mouseleave', function() {
        $(this).css({
            background: 'red'
        });
    });

});

<强> Demo

虽然用一些css和类似的控制背景颜色可能会更好:

<强> CSS

.imoveis.red {
    background: #cc0000;
}

<强>的Javascript

$(document).ready(function() {

    $('.imoveis').on('mouseenter', function() {
        $(this).removeClass('red');
    });
    $('.imoveis').on('mouseleave', function() {
        $(this).addClass('red');
    });

});

<强> Demo