Je sais que cette question a déjà été posée (ici), mais toutes les réponses que j'ai trouvées portaient sur css sélecteur: sélection (qui n'est pas encore trop largement supporté par les navigateurs).
Alors, comment puis-je désactiver la sélection de texte sur ma page html via jQuery, sans compter sur les astuces CSS?
4 réponses
Essayez cela http://code.jdempster.com/jQuery.DisableTextSelect /jquery.disable.text.select.js
Si vous voulez éviter les plugins, vous pouvez extraire les parties pertinentes de la source jQuery UI:
/*!
* jQuery UI 1.8.16
*
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* http://docs.jquery.com/UI
*/
$.support.selectstart = "onselectstart" in document.createElement("div");
$.fn.disableSelection = function() {
return this.bind( ( $.support.selectstart ? "selectstart" : "mousedown" ) +
".ui-disableSelection", function( event ) {
event.preventDefault();
});
};
$("#somediv").disableSelection();
Voici une simple ligne pour désactiver la sélection de texte sur toute votre page. (si vous devez ou non est une autre question)
$(document).bind('selectstart dragstart', function(e) {
e.preventDefault();
return false;
});
Incluez jQuery UI et utilisez $(element).disableSelection()
.
Cependant, la désactivation de la sélection de texte est très peu conviviale pour l'utilisateur, sauf si elle est utilisée dans un contexte où des sélections accidentelles sont probables (par exemple, glisser-déposer ou boutons où les utilisateurs sont susceptibles de double-cliquer pour effectuer plusieurs modifications plus rapidement (par exemple dans les filateurs))
Questions connexes
Questions liées
De nouvelles questions
javascript
Pour des questions concernant la programmation dans ECMAScript (JavaScript / JS) et ses divers dialectes / implémentations (hors ActionScript). Veuillez inclure toutes les balises pertinentes dans votre question; par exemple, [node.js], [jquery], [json], etc.