2014-08-27 72 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

相關問題