2015-09-28 28 views
1

我有這個以下,其執行我的功能,當我按下鼠標左鍵,並在屏幕上拖動它的JavaScript代碼:防止文本選擇的同時拖動鼠標

function MyFunc(e) 
{ 
    // I copied this part from another SO question 
    e.preventDefault(); 
    e.stopPropagation(); 
    e.cancelBubble = true; 
    e.returnValue = false; 
    // This should cancel out all default actions, should it not? 


    return false; 
} 

document.addEventListener('mousemove', MyFunc false); 

什麼,這是應該做的是,當鼠標在屏幕上拖動時(當按下左鍵時,它會阻止選擇文本(或任何其他元素),但實際情況是,它什麼都不做)。 console.log,但它不會阻止文本選擇。 我不知道我在這裏做錯了什麼。

我現在使用這就是:

window.getSelection().removeAllRanges(); 

這工作和focrefully取消選擇,但是這是非常醜陋的解決方案,我不明白爲什麼上面的代碼不起作用。

回答

2

將此添加到您不想拖動的元素的CSS。

-webkit-user-select: none; 
-khtml-user-select: none; 
-moz-user-select: none; 
-ms-user-select: none; 
user-select: none; 
相關問題