2014-08-27 73 views
2

说明:mouseup和MOUSEDOWN不是在jQuery的共同努力

我有下面的代码时,按下鼠标时正确

$("#pom").mouseup(function(){ 
alert("mouse_up");  
}); 

工作正常

$("#pom").mousedown(function(){ 
alert("mouse_down");  
}); 

它告诫它在鼠标启动时正常工作

当我放置除警报以外的其他东西时,问题就开始了。在我的情况下,我在mousedown上添加一个类到$(“#pom”),并在鼠标启动时删除类,但它只以一种方式发生。当鼠标关闭时,该类会被添加,但当鼠标启动时不会被删除。任何溶液理解:)

问题演示:

Demo

+2

你能用你的代码重现这个问题吗?[小提琴](http://jsfiddle.net)? – Regent 2014-08-27 16:40:36

+1

根据文档:当鼠标指针位于元素上并释放鼠标按钮时,mouseup事件发送到元素。如果您在不通过元素的情况下执行鼠标操作,则该事件不会在该元素上触发。 – 2014-08-27 16:41:59

+0

它在这里正常工作:http://jsfiddle.net/uzthcu0v/。你必须检查元素,你会看到当你将文字悬停时,然后点击它添加类,然后取消点击并删除类。如果您点击鼠标时将鼠标移开,它将保持课程在那里。 – Dan 2014-08-27 16:43:10

回答

2

仅有一个指针。这个评论引起了这个问题。

.rotate{ 
    -webkit-transform: rotateY(50deg); 
    /*-webkit-transform-origin: 0% 50%;*/ 
} 

UPDATE:

我可能会丢失你想要什么你的代码做的,但反正元素不旋转点。试试这个(它调整到你的心脏的内容):

#pom 
    { 
     width: 200px; 
     height: 100px; 
     background-color: yellow; 
     border-radius: 3px; 
     border: solid #444444 3px; 
    } 
    .rotate 
    { 
     -ms-transform: rotate(45deg); /* IE 9 */ 
     -ms-transform-origin: 20% 40%; /* IE 9 */ 
     -webkit-transform: rotate(45deg); /* Chrome, Safari, Opera */ 
     -webkit-transform-origin: 20% 40%; /* Chrome, Safari, Opera */ 
     transform: rotate(45deg); 
     transform-origin: 20% 40%; 

    } 

最后,马克乙组分了,如果你是在鼠标按下移动元素,机会是很高,鼠标松开将不会触发。

+0

这是2D旋转...我特别在标题中写道3D旋转像一个门铰链.. – 2014-08-27 17:31:52

+0

对不起,我把它与其他事情混在一起..但我仍然想旋转它在3D和div应该来点击发布后返回 – 2014-08-27 17:39:17

+0

查看此[翻转卡]的源代码(http://css3playground.com/3d-flip-cards/) – nocarrier 2014-08-27 17:50:07

相关问题