2

所以我遇到了一个问题,因为我想从 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'
    });
})​;​
4

3 回答 3

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'
        });
     });
}

演示

文档

于 2012-12-19T11:49:51.947 回答
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/

于 2012-12-19T11:52:09.673 回答
0

你可以这样做:

Javascript

$(document).ready(function() {

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

});

演示

尽管使用一些 css 和这样的类来控制背景颜色可能会更好:

CSS

.imoveis.red {
    background: #cc0000;
}

Javascript

$(document).ready(function() {

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

});

演示

于 2012-12-19T11:53:26.487 回答