我有一個CSS按鈕,具有正常,按下和懸停狀態。一切工作正常,除了當點擊發生時,我需要以某種方式知道風格是否應設置爲正常或懸停。也就是說,我需要知道鼠標光標是否仍然懸停在元素上的方法。如何用JavaScript實現這一點?在JavaScript中單擊自定義CSS按鈕後恢復懸停狀態?
1
A
回答
1
如果你關心用戶做一個mousedown
,然後移動指針關閉(也許再次上)的按鈕,你可以做這樣的事情:
例:http://jsfiddle.net/7zUaj/1/
var mouseIsDown = false; // Track/remember mouse up/down state for the button
// Handle mouseenter and mouseleave
$('div').hover(function() {
$(this).addClass('hover');
if (mouseIsDown)
$(this).addClass('pressed'); // If mouse button was down, and user exited
// and reentered the button, add "pressed"
}, function() {
$(this).removeClass('hover pressed'); // Remove both hover and pressed when
// the pointer leaves the button
})
// Handle the mousedown, track that it is down, and add "pressed" class
.mousedown(function() {
mouseIsDown = true;
$(this).addClass('pressed');
})
// Handle the mouseup, track that it is now up, and remove the "pressed" class
.mouseup(function() {
mouseIsDown = false;
$(this).removeClass('pressed');
});
// If user does mousedown, leaves the button, and does mouseup,
// track that it is now up
$(document).mouseup(function() {
mouseIsDown = false;
});
在變量中跟蹤鼠標的狀態,並在按鈕的處理程序中設置mousedown
和mouseup
。 mouseup
也跟蹤在document
級別。這將幫助.hover()
的mouseenter
部分知道是否應設置pressed
類。
(請注意,由於鼠標鬆開也被跟蹤在document
,如果在頁面上的任何其他元素停止從冒泡的情況下,mouseup
將不會被document
檢測。)
編輯:做到這一點,因此document
只跟蹤mouseup
,和按鈕都跟蹤。
0
您的CSS中沒有:visited
狀態?至於Javascript,OnMouseOver
或JQuery mouseover
,hover
或mouseenter
(取決於你想做什麼)會告訴你什麼時候懸停發生。
相關問題
- 1. 自定義css單選按鈕懸停效果
- 2. 點擊後,css懸停狀態變爲非活動狀態
- 3. CSS精靈 - 如何讓懸停按鈕在按下狀態
- 4. 懸停/按下狀態的按鈕
- 5. JavaScript懸停功能保持打開狀態,直到按鈕單擊
- 6. 恢復在ionic2切換按鈕狀態
- 7. 瀏覽器後退按鈕頁面狀態的自定義按鈕點擊
- 8. jqDock菜單活動狀態在鼠標懸停後不能恢復
- 9. Android自定義按鈕按狀態
- 10. Tripleplay按鈕和指針懸停狀態
- 11. ASP.NET按鈕沒有懸停狀態?
- 12. 3級css子菜單懸停狀態
- 13. CSS:懸停狀態在返回後保持活動狀態(Firefox)
- 14. 添加CSS動態時懸停按鈕
- 15. CSS + HTML自定義形狀按鈕
- 16. Css自定義形狀按鈕
- 17. CSS結構懸停狀態
- 18. 在最後點擊的菜單項上保留懸停狀態
- 19. 3D效果按鈕懸停狀態CSS(可能的錯誤?)
- 20. 按鈕在CSS或Javascript中從正常按鈕上懸停並按下按鈕?
- 21. CSS停止懸停在按鈕邊境
- 22. 自定義按鈕處理狀態
- 23. Xamarin.Forms:在UWP中懸停時自定義按鈕樣式
- 24. CSS - 將懸停狀態保持在「不停歇」狀態?
- 25. 如何爲我的自定義按鈕設置點擊狀態?
- 26. 自定義TabBar按鈕在鼠標懸停/鼠標懸停時閃爍
- 27. 在CSS僞類上懸停狀態
- 28. CSS按鈕:懸停,禁用然後重新啓用JavaScript
- 29. 懸停到自定義形狀。如何?
- 30. 如何讓css按鈕在點擊後保持活動狀態?