Fabrication d'un élément ne peut pas être sélectionnée à l'aide de jQuery
Quelle est la meilleure façon de rendre un élément ne peut pas être sélectionnée à l'aide de jQuery?
Je sais que vous pouvez utiliser onselectstart="return false;" ondragstart="return false;"
dans le code HTML, mais je ne suis pas sûr de la façon de la croix-navigateur compatible.
Je vois aussi que quelqu'un a fait un plugin jQuery: http://plugins.jquery.com/project/Unselectable .. serait un plugin comme ça?
Est-il un simple, compatible, un élément ne peut pas être sélectionnée?
La raison pour vouloir en faire c'est purement esthétique. Avec des pages web qui ont les faisant glisser ou cliquez sur les événements, ce n'est pas très agréable quand les choses deviennent sélectionné.
Merci, c'est fondamentalement la même solution CodeJoust a donné, bien que CJ est la version la plus compacte 🙂
OriginalL'auteur Acorn | 2010-04-30
Vous devez vous connecter pour publier un commentaire.
$('.noselect').live('selectstart dragstart', function(evt){ evt.preventDefault(); return false; });
Juste lier l'événement en live, et renvoie la valeur false, ou de prévenir par défaut.
Merci! Ne compte que le plugin utilise également des techniques CSS et peut-être un peu plus à l'épreuve des balles, pour ainsi dire. Toutefois, si elle n'est pas la mission-critique, je préfère la concision plus inutilement complexes, code, généralement quelque chose comme cela c'est juste pour améliorer l'Interface Utilisateur.
Quoi? Votre code renvoie une erreur de syntaxe...
live() est obsolète dans la nouvelle version de jQuery. L'utilisation "()" au lieu
Gardez à l'esprit, cela ne résout pas le problème, si les
dragstart
événement est déclenché à l'extérieur de l'élément.OriginalL'auteur CodeJoust
Je pense que jQuery utilisera le navigateur de la variance & il va vous aider à faire les éléments HTML ne peut pas être sélectionnée.
Après avoir dit cela, veuillez noter que le client peut décider de désactiver javascript, auquel cas vous devez vous assurer qu'il ne peut toujours pas faire quelque chose qui cause un préjudice...
HTH.
OriginalL'auteur Sunny
Je crois que c'est une meilleure réponse.
Alors vous pouvez simplement ajouter un
data-noselect="true"
à n'importe quel élément.OriginalL'auteur
Si vous utilisez JqueryUI vous pouvez définir
class="ui-state-default"
à la div que vous ne voulez pas être sélectionné.OriginalL'auteur shai