jquery – 鼠标悬停,而mousedown

前端之家收集整理的这篇文章主要介绍了jquery – 鼠标悬停,而mousedown前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个大桌子,每个单元格是25×25,每个单元格里面都有一个div.每个div都有“node”类,背景颜色应用于它们.我正在编写一些jQuery代码,当鼠标按住鼠标时,会改变每个div的颜色.

我现在有它,所以它工作时,我的鼠标悬停,但我只想要它的工作,当鼠标按钮也一样.我已经尝试了许多不同的方式让它工作,但到目前为止,我没有看,下面是我当前的代码.

$(document).ready(function(){
  $(".node").mouSEOver(function(){
   $(this).css({background:"#333333"});
 });
});

解决方法

尝试这样的东西:
$(document).ready(function(){

  var isDown = false;   // Tracks status of mouse button

  $(document).mousedown(function() {
    isDown = true;      // When mouse goes down,set isDown to true
  })
  .mouseup(function() {
    isDown = false;    // When mouse goes up,set isDown to false
  });

  $(".node").mouSEOver(function(){
    if(isDown) {        // Only change css if mouse is down
       $(this).css({background:"#333333"});
    }
  });
});

编辑:

您可能希望在.node上单独进行mousedown以进行单独的项目选择.

$('.node').mousedown(function() {
    $(this).css({background:"#333333"});
  });

编辑:

这是使用bind和unbind的另一种方法.

$(document).mousedown(function() {
      $(".node").bind('mouSEOver',function(){
          $(this).css({background:"#333333"});
      });
  })
  .mouseup(function() {
    $(".node").unbind('mouSEOver');
  });

  $('.node').mousedown(function() {
    $(this).css({background:"#333333"});
  });

猜你在找的jQuery相关文章