拖放时更改鼠标光标

时间:2018-06-22 11:27:38

标签: javascript dom mouse-cursor

我有一个要放入“项目”的DOM元素。我想通过更改光标图标为用户提供视觉反馈。但是,按住鼠标按钮时,光标不会改变。如果我移动鼠标的否按钮,它将改变。但是当我按住按钮时不行。为什么?如何为用户获得所需的光标反馈?我正在使用Google Chrome。

<html>
    <head>      
        <script type="text/javascript">         
            function Document()
            {
                var that = document.createElement("div");
                that.style.backgroundColor = "#80ff80";
                that.style.border = "1px solid black";
                that.style.height = "90%";
                that.style.width = "50%";
                that.onmousemove = function (event)
                {
                    //console.log(event.offsetX + ", " + event.offsetY);
                    if (Math.random() < 0.5)
                        that.style.cursor = "not-allowed";
                    else
                        that.style.cursor = "move";
                    return false;
                }
                return that;
            }

            function onLoadPage()
            {
                var doc = new Document();
                document.body.appendChild(doc);
            }

        </script>
    </head>
    <body onload="onLoadPage()" />
</html>

1)将鼠标移到div上。它将随机更改光标图标。
2)按下鼠标按钮,然后将鼠标移到div上。在您释放鼠标按钮之前,它将保留最后一个图标。

修改:
Chrome的控制台可能会产生此问题。当我隐藏“开发人员工具”时,更改光标似乎很好。启用“开发工具”后,将选项卡更改为任意选项卡,然后再返回,按住鼠标按钮时光标将不会更改。

1 个答案:

答案 0 :(得分:0)

我无法重现您的问题,但是我遇到了以下链接,该链接也暗示了除firefox之外所有浏览器中的错误。这是一个旧链接,但可能会有所帮助。

https://github.com/RubaXa/Sortable/issues/246