我有一个大桌子,每个单元格是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"}); });