¿Cómo puedo obtener el texto seleccionado por el usuario (solo dentro de textarea) y aplicarle acciones para algo así como ajustar la selección [#bold]selected text[/bold]
.jQuery ajustar el texto seleccionado en un área de texto
13
A
Respuesta
22
Construido a lo publicado Soufiane, aquí está el código traducido a jQuery con la capacidad de pasar en las etiquetas de apertura y cierre:
function wrapText(elementID, openTag, closeTag) {
var textArea = $('#' + elementID);
var len = textArea.val().length;
var start = textArea[0].selectionStart;
var end = textArea[0].selectionEnd;
var selectedText = textArea.val().substring(start, end);
var replacement = openTag + selectedText + closeTag;
textArea.val(textArea.val().substring(0, start) + replacement + textArea.val().substring(end, len));
}
uso sería entonces así:
wrapText("myTextArea", "[#bold]", "[/bold]");
6
function wrapAsLink(url){
var textarea = document.getElementById("myTa");
var len = textarea.value.length;
var start = textarea.selectionStart;
var end = textarea.selectionEnd;
var sel = textarea.value.substring(start, end);
var replace = '<a href="'+url+'">' + sel + '</a>';
textarea.value = textarea.value.substring(0,start) + replace +
textarea.value.substring(end,len);
}
Esta función puede ayudarlo a hacer lo que quiera con algunos ajustes. Lo encontré here.
Cuestiones relacionadas
- 1. Reemplazar el texto seleccionado en el área de texto
- 2. Obtener texto seleccionado en la página (no en un área de texto) con jQuery
- 3. jQuery establecer el texto seleccionado
- 4. Cómo ajustar el texto en un JTextArea
- 5. Capturar texto pegado en un área de texto con JQuery
- 6. en el área de texto con jQuery
- 7. Reemplazar el texto seleccionado con jquery/javascript
- 8. de entrada: Texto + selector de área de texto en jQuery
- 9. Obtener el texto resaltado/seleccionado
- 10. Resaltar texto dentro de un área de texto
- 11. jQuery: establece el ancho de un área de texto?
- 12. jquery área de texto de crecimiento automático versus texto inicial
- 13. ¿Ajustar texto en UITextField?
- 14. Ajustar texto en PIL
- 15. Jquery fadeout texto en un cuadro de texto y texto
- 16. jQuery Arrastrar y colocar en un área de texto
- 17. Hacer texto seleccionable en un área de texto dentro de un padre ordenable jQuery
- 18. Ctrl + Enter jQuery en el área de texto
- 19. Obtener texto seleccionado en un cuadro de texto
- 20. jQuery Escapar HTML a partir de un área de texto
- 21. Expandir un área de texto en función de la cantidad de texto que contiene (jquery)
- 22. ¿cómo llenas un área de texto con jquery y linebreaks?
- 23. Cómo ajustar el texto en tablas LaTeX?
- 24. Limitar palabras en un área de texto
- 25. Cómo ajustar el texto para ajustar ventana en XSLT
- 26. Cambiar el valor del área de texto con jQuery
- 27. ¿Cómo busco el texto seleccionado?
- 28. Creación de un área de texto falso
- 29. Jquery para poblar la entrada o el área de texto
- 30. Jquery para obtener el texto seleccionado de la lista desplegable
En caso cualquiera lo quiere, aquí hay una versión de coffeescript de esta función: https://gist.github.com/2938205 – DVG
Sería bueno si el texto final seleccionado incluye la inserción, no solo la selección inicial. O tal vez saltar el símbolo de intercalación al final de la nueva cadena ... – brasofilo
Ok, este es el truco 'textArea [0] .selectionEnd = end + openTag.length + closeTag.length;' (después de la última línea). – brasofilo