2016-05-18 44 views
2

我试图在拖动图像时禁用选择。但它似乎并不奏效。我知道类似questions已被问到,但似乎没有为我工作。在图像上拖动鼠标时禁用选择

我也尝试在许多类似的问题中建议在CSS中输入。

-webkit-touch-callout: none;/*for mobile*/ 
-webkit-user-select: none;/*for chrome*/ 
-khtml-user-select: none;/*for safari*/ 
-moz-user-select: none;/*for Mozilla*/ 
-ms-user-select: none;/*for mircosoft*/ 
-o-user-select: none;/*for opera*/ 
user-select: none;/*base css ,but not work in all browsers*/ 

enter image description here

FIDDLE

+0

使用以下-webkit-user-select:none; –

回答

0

通过设置e.dataTransfer.setDragImage到1px的透明画布和鼠标拖拽固定它仍然有效

var c = document.getElementById("canvas"); 

document.getElementById("image").addEventListener("dragstart", function(e) { 
    e.dataTransfer.setDragImage(c, 0, 0); 
}, false); 


document.getElementById("image").addEventListener("dragover", function(e) { 
    e.preventDefault(); 
}, false); 

FIDDLE

0

使用用户拖动css选项

img { 
    -webkit-user-drag: none; 
    -khtml-user-drag: none; 
    -moz-user-drag: none; 
    -o-user-drag: none; 
    user-drag: none; 
} 
+1

非常确定op想要保持鼠标拖动事件,这可以防止鼠标拖动事件触发。 – Collin

+0

在这种情况下,我不确定是否有可能完成他想要做的事情:( –

+0

同意。根据浏览器支持要求,他可以用空图像覆盖拖动图像。 – Collin

相关问题