Jquery 鼠标向下移动时,鼠标向上移动
我有一张大桌子,每个单元格是25x25,每个单元格内有一个div。每个div都有一个“node”类,所有div都应用了背景色。我正在编写一些jQuery代码,当鼠标按下时,当鼠标移到每个div上时,这些代码会改变每个div的颜色 我目前有它,所以它的工作时,我鼠标在上面,但我只希望它的工作时,鼠标按钮也下降。我已经尝试了许多不同的方法让它工作,但到目前为止我还没有看,下面是我目前的代码Jquery 鼠标向下移动时,鼠标向上移动,jquery,onmouseover,onmousedown,Jquery,Onmouseover,Onmousedown,我有一张大桌子,每个单元格是25x25,每个单元格内有一个div。每个div都有一个“node”类,所有div都应用了背景色。我正在编写一些jQuery代码,当鼠标按下时,当鼠标移到每个div上时,这些代码会改变每个div的颜色 我目前有它,所以它的工作时,我鼠标在上面,但我只希望它的工作时,鼠标按钮也下降。我已经尝试了许多不同的方法让它工作,但到目前为止我还没有看,下面是我目前的代码 $(document).ready(function(){ $(".node").mouseover(fu
$(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
上单独执行鼠标下移
,以选择单个项目
$('.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"});
});
+1-为什么没有一种方法来检查
mousedown
(以及其他状态…我们有它们用于alt
,ctrl
,等等…为什么没有鼠标?)是我无法理解的,即使在DOM2中,除非我遗漏了规范中的某些内容。@Stanni-正如Nick Craver所指出的,如果mousedown
开始于节点
元素,那一个不会得到背景。这适合你吗?@Stanni-不客气o) 我在.node
上用一个额外的mosuedown
更新了我的答案,这样你仍然可以进行单项选择。@Stanni-好的,还有一件事,我保证我会离开;o) 为了全面起见,我添加了一个备用版本,使用了bind
和unbind
,以防您不喜欢分散的变量。现在完成o) 那就更好了。你是对的,我更喜欢不用变量的。再次感谢。