Je veux sélectionner tout le texte à l'intérieur d'une zone de texte lorsqu'un utilisateur clique sur la zone de texte. J'ai essayé onclick="this.focus()"
mais cela n'a rien donné. J'ai essayé onclick="this.highlight()"
mais cela a provoqué une erreur. Que dois-je faire ?
Réponses
Trop de publicités?
Ignacio Ara
Points
1587
BassemDy
Points
1522
Vous devez utiliser les fonctions Javascript .focus() et .select() pour obtenir le résultat souhaité.
Consultez le lien ci-dessous pour un exemple :
http://www.plus2net.com/javascript_tutorial/textarea-onclick.php
Carson Arucard
Points
334
const elem = document.elementFromPoint(clientX, clientY)
if (elem.select) { // Make sure the method exists.
elem.focus()
elem.select()
}
Il se peut que vous ne souhaitiez pas passer du temps à trouver votre objet.
Par exemple, vous avez écrit des extensions à injecter des scripts dans la page web.
Pour l'instant, vous n'avez pas besoin de considérer l'élément ID que vous pouvez appliquer immédiatement.
Exemple
<textarea rows="3" style="width:200px">"Double click" or Press "F4" to select all text</textarea>
<script>
let clientX, clientY
document.addEventListener("mousemove", (e) => {
clientX = e.clientX
clientY = e.clientY
})
selectAllFunc = () => {
const elem = document.elementFromPoint(clientX, clientY)
if (elem.select) { // Make sure the method exists.
elem.focus()
elem.select()
}
}
document.addEventListener("keydown", (keyboardEvent) => {
if (keyboardEvent.key === "F4") { // && keyboardEvent.ctrlKey
selectAllFunc()
}
})
document.addEventListener("dblclick", (e) => {
selectAllFunc()
})
</script>
- Réponses précédentes
- Plus de réponses
0 votes
[2020] les navigateurs modernes ont
setSelectionRange
developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/