我有一个基于HTML、CSS和JavaScript/jQuery的Web应用程序,它可以拖动元素(意思是,光标不会在该元素上移动,因为该元素随着光标移动)。我希望将光标更改为“移动”光标,但我遇到了奇怪的行为。我编写了以下代码以进行演示:
<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>
基本上,我希望每当用户按住鼠标右键时,光标就会改变为“cursor:move;”;但是,以下情况发生了:
- 初始状态:光标默认为default - 鼠标按下:光标默认为default - 鼠标移动:光标默认为default - 鼠标松开:光标变为move - 鼠标移动:光标默认为default
所以我的问题是:为什么会出现这种情况,有什么好的方法来解决它?
PS:在Chrome中测试过,这是我需要它工作的主要浏览器。