2010-05-28 3 views
5

Je me demande comment ces widgets glisser-déposer annulent la sélection de texte dans l'élément de glissement et d'autres éléments de la page. J'ai essayé le code suivant qui fonctionne dans IE8 (ne peut pas sélectionner le texte) mais ne fonctionne pas (peut toujours sélectionner le texte) dans Firefox.comment empêcher la sélection de texte lorsque vous faites glisser la souris dans Firefox?

<!DOCTYPE html> 
<html> 
<body> 
    <p>Hello World</p> 
    <script type="text/javascript"> 
    document.onmousemove = function() { 
     return false; 
    } 
    </script> 
</body> 
</html> 
+0

Voir: http://stackoverflow.com/questions/69430/is-there-a-way-to-make-text-unselectable-on-an-html-page – CMS

Répondre

8

Ou, votre solution analogue à IE8 pour Moz:

document.body.style.MozUserSelect="none" 
3

Il y avait un cas où j'avais une barre de défilement horizontal et le texte sur la page a été sélectionnée en cours tout en faisant glisser la barre de défilement. J'ai utilisé jQuery pour ajouter une classe "non sélectionnable" au corps lorsque ma fonction de démarrage de défilement s'est déclenchée, et j'ai supprimé la classe lorsque ma fonction d'arrêt de défilement s'est exécutée. Comme si:

function startDrag(event){ 
    $('body').addClass('unselectable'); 

    // start drag code 
} 

function stopDrag(event){ 
    $('body').removeClass('unselectable'); 

    // stop drag code 
} 

Et voici à quoi ressemblait la classe non sélectionnable dans mon document CSS.

.unselectable { 
    -webkit-touch-callout: none; 
    -webkit-user-select: none; 
    -khtml-user-select: none; 
    -moz-user-select: none; 
    -ms-user-select: none; 
    user-select: none; 
} 
Questions connexes