[英]Cursor type: move ONLY when drag
我使用JQuery UI
實現了一個具有拖動功能的元素,游標類型為“move”。 我有一個元素,它嵌套在draggable div
,我們稱之為'inner',它有一個onclick
事件,當你將鼠標懸停在它上面時,光標變為“pointer”(通過CSS)。
我想要實現的目標:
inner
還是draggable
,我希望無論何時拖動光標都要“移動”光標。 inner
在懸停或點擊時有一個游標類型的“指針”。 但是一旦你開始拖動它,光標應該變為“移動”。 實際發生了什么
當光標在inner
,並且開始拖動時,光標保持“指針”,它不會變為“移動”。
我試過了:
#draggable *:active {
cursor: move;
}
會發生什么,當你點擊不拖動inner
,光標變為“移動”。
只有在拖動div時,如何才能使光標變為“移動”?
$('#draggable').draggable({ cursor: "move" }); $('#inner').click(function() { $(this).css('background-color', 'orange'); });
#draggable { background-color: pink; width: 200px; height: 200px; } #inner { background-color: red; width: 100%; height: 50px; } #inner:hover { cursor: pointer; } /* #draggable *:active { cursor: move; } */
<script type="text/javascript" src="//code.jquery.com/jquery-2.1.4.js"></script> <style type="text/css"></style> <script type="text/javascript" src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script> <link rel="stylesheet" type="text/css" href="//code.jquery.com/ui/1.11.4/themes/ui-lightness/jquery-ui.css"> <div id="draggable"> <div id="inner"></div> </div>
在.ui-draggable-dragging
元素時,會將類.ui-draggable-dragging
添加到元素中。
因此,您可以使用此類來確定是否正在拖動#inner
元素。 只需使用選擇器.ui-draggable-dragging #inner
,並設置cursor: move
:
#inner {
cursor: pointer;
}
.ui-draggable-dragging #inner {
cursor: move;
}
$('#draggable').draggable({ cursor: "move" }); $('#inner').click(function() { $(this).css('background-color', 'orange'); });
#draggable { background-color: pink; width: 200px; height: 200px; } #inner { background-color: red; width: 100%; height: 50px; } #inner { cursor: pointer; } .ui-draggable-dragging #inner { cursor: move; }
<script type="text/javascript" src="//code.jquery.com/jquery-2.1.4.js"></script> <style type="text/css"></style> <script type="text/javascript" src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script> <link rel="stylesheet" type="text/css" href="//code.jquery.com/ui/1.11.4/themes/ui-lightness/jquery-ui.css"> <div id="draggable"> <div id="inner"></div> </div>
由於jQuery UI已經設置了cursor: move
在拖動元素時cursor: move
body
元素,你也可以只用cursor: inherit
覆蓋cursor: pointer
cursor: inherit
:
#inner {
cursor: pointer;
}
.ui-draggable-dragging #inner {
cursor: inherit;
}
還值得一提的是,如果它有一個.ui-draggable-dragging
類,你可以通過否定.ui-draggable
元素來使用單個選擇器來實現這個目的:
.ui-draggable:not(.ui-draggable-dragging) #inner {
cursor: pointer;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.