所以我有一個拖動元素的web應用程序(在html,css和javascript,jquery中)(這意味着,由於元素隨着光標移動,光標不會移動該元素)。我希望將光標更改爲「移動」光標,但我遇到了這種奇怪的行爲。我寫了這段代碼來演示:在不移動光標時更改
<html>
<head></head>
<body oncontextmenu="return false;">
<script>
var b=document.getElementsByTagName('body')[0];
b.onmousedown=function(event){
if(event.button){
b.style.cursor='move';
}
}
b.onmouseup=function(event){
if(event.button){
b.style.cursor='initial';
}
}
</script>
</body>
</html>
所以基本上,我想讓光標變成'光標:移動'每當用戶按住鼠標右鍵時,但是,會發生以下情況:
- 初始:光標:默認
- 按下鼠標:光標:默認
- 鼠標移動:光標:默認
- 鼠標向上:光標:移動
- 鼠標移動:光標:默認
所以現在我的問題是:爲什麼會發生這種情況,以及如何解決這個問題?
PS:鉻測試,這是主要的瀏覽器,我需要這
這似乎並不鼠標按鈕被釋放時,將光標重置爲默認樣式。 'e.button == 2'將永遠是這種情況,因爲它是相同的按鈕。它需要通過事件_type_區分。 – CBroe
由於打開了上下文菜單,它只是變回默認光標。如果你添加'oncontextmenu =「返回false;」'到'body'你的代碼片段不再工作 – vrugtehagel
@vrugtehagel - opps對不起,我編輯它,它搞砸了。我會再次編輯! – vsync