当用户在我的页面上拖动对象时,如何防止"I-Beam"光标

eri*_*ric 3 html javascript css

如果没有复制和粘贴大量代码,这可能很难描述,但我会尝试.

我不得不使用javascript构建一个自定义可拖动对象 - 我过去使用过jquery但它不能用于这个项目.我得到它主要是工作,除了当用户点击对象(一个DIV)并将其拖过页面时,他或她的光标变为经典的工字梁文本选择器.

无论我尝试什么,我都无法禁用此光标.我尝试过像这样的东西.

this.style.cursor = 'pointer';  
Run Code Online (Sandbox Code Playgroud)

在div的'onmousedown'函数中,但是一旦你开始拖动blammo,你就有了一个i-beam光标.如果我将上面的代码放在实际的拖动函数中也是如此.

我已经尝试使用css禁用整个文档中的文本选择(不是实际的解决方案,因为我希望人们能够在此站点上复制/粘贴,但只是为了查看它是否有效)仍然,光标会在用户拖动.

我想我真正想要的是暂时禁用i-beam光标出现在我的页面上的方法.

好的,提前感谢任何帮助.

nor*_*gon 5

正确的方法(至少适用于Chrome):

var canvas = $('canvas')[0]
canvas.onselectstart = function () { return false; }
Run Code Online (Sandbox Code Playgroud)

请参阅html5 canvas手形光标问题.