这与其他所有问题不同。 我已经阻止Chrome在拖动时进入文本选择模式。(编辑:我只想锁定图标/外观,不限制位置或移动,仅限于mousedown和mouseup之间)我想避免的问题是Chrome在拖动时将光标更改为光标下的任何内容(即在文本上方的i-beam)输入控制,超链接等等。)
IE和FireFox / Moz支持我在mousedown事件中调用的element.setCapture(),它将这些浏览器“锁定”到元素中,以便鼠标光标停留在该元素的光标上。非常好。 Chrome不支持我所知道的功能或类似功能。
通过观察文档对象上的mousemove和mouseup事件而不是单击的元素,我仍然能够获得大多数的setCapture()行为,因为我可以跟踪鼠标事件发生在元素之外,甚至在浏览器窗口之外。但是,我还剩下一个问题,Chrome中的鼠标光标会发生变化。
答案 0 :(得分:3)
我相信你正在寻找Pointer Control Lock API,这是用户最近推出的一种控制用户输入设备的方式(如果允许的话)。最大的用例是游戏。
如果没有安全且受支持的API,允许网站接管用户输入控件将是非常灾难性的(即点击劫持和强制恶意软件下载),所以如果你想要“锁定”光标,那么这很可能是你的唯一的选择。
答案 1 :(得分:0)
我通常将一个元素放在其他所有内容上,并将鼠标向下移动,并在鼠标向上移除它。远非最干净的方法,但它适用于我。