J'ai un élément d'entrée: Je souhaite créer un Les fonctions J'ai besoin: p> Comment puis-je ajouter cette "propriété" à selectionStart code> p>
3 Réponses :
Vous voudrez étendre le < Code> htmlinputelement code> interface, comme celui-ci: Cependant, les experts javascript considèrent ceci a un
Premièrement, c'est une mauvaise idée en principe et en pratique d'essayer d'étendre les objets hôtes. Des objets hôtes tels que DOM Éléments peuvent faire à peu près ce qu'ils aiment; En particulier, ils ne sont pas obligés de soutenir ce que vous essayez de faire et dans IE <= 8, ce que vous ciblez avec ce code, les éléments DOM ne supportent tout simplement pas cela. Vos options sont soit à utiliser une fonction sur laquelle vous passez un élément d'entrée, soit de créer un objet wrapper pour chaque entrée qui dispose des méthodes et des propriétés dont vous avez besoin. P>
second, votre getSelectionStart () code> et
getSelectionendendendend () code> Les fonctions sont défectueuses: ils ne gèrent pas correctement les nouvelles lignes dans Texareas et ne seront pas une logique défectueuse autour de
LastIndexof < / code> (que si le texte sélectionné apparaît plus d'une fois dans l'entrée?). J'ai fait beaucoup de travail à ce sujet et je suis arrivé avec ce que je suis assez convaincu est la meilleure fonction pour obtenir des sélections d'entrée et de textare dans tous les grands navigateurs, que je posté ici quelques jours il y a quelques jours: Est-ce possible de détecter de manière programmable la position du calet dans un
J'essayais juste de réparer le foutu, c'est-à-dire. Ces fonctions que je viens de copier un article google.com/... . Merci de pointer ces défauts et de fournir une fonction fiable. Je suppose que je n'ai pas d'autre choix, je vais devoir utiliser une méthode à la place ...
Ceci est également répondu à ces questions: P>
Caret Position dans Textarea, en caractères du départ < / p>
Décalage de caractères dans un explorateur Internet Textrange P>
Ils sont liés, mais ils ne sont pas la même question.