Markdown autoresize box quirky on enter
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 38/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Estancado
- Stack tecnológico
- javascript
- Área
- frontend
Línea de trabajo
Comienza en models/Document.bones, en la función updateSize, y reproduce el comportamiento de autoresize pulsando Enter en el textarea de Markdown en Chrome y Firefox. Compara los valores del textarea y del clon durante keydown; se considera terminado cuando el textarea cambia de tamaño sin saltar hacia arriba antes de que aparezca la nueva línea.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
When hitting enter in a markdown autoresize textarea, the textarea is not resized until the enter key is released which leads to the text jumping up one line before it drops down again. I have observed this behavior in Chrome and FF. While the browser adds the new character to the textarea, it does not make it available via .val() until the key is released.
The following code is hideous, but addresses the issue. I wonder whether there are more elegante ways around this.
diff --git a/models/Document.bones b/models/Document.bones
index 23c2044..6f5bec9 100644
--- a/models/Document.bones
+++ b/models/Document.bones
@@ -202,9 +202,14 @@ model = Backbone.Model.extend({
letterSpacing: textarea.css('letterSpacing')
}).attr('tabIndex','-1').insertBefore(textarea);
})(),
- updateSize = function() {
+ updateSize = function(ev) {
// Update clone.
- clone.val($(this).val()).scrollTop(10000);
+ var val = $(this).val();
+ On keydown, the newest character is not in .val().
+ if (ev && ev.type == 'keydown') {
+ val += String.fromCharCode(ev.keyCode);
+ }
+ clone.val(val).scrollTop(10000);
// Find scrolling height of text in clone and update
var height = clone.scrollTop();
if (!$.browser.msie) {
- Lenguaje dominante
- JavaScript
- Estrellas
- 4
- Forks
- 2
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de developmentseed/bones-document
-
The format keyword is confusingAbierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 20/100
-
Dificultad 4/5 3-5 días Aptitud para principiantes 25/100
developmentseed/bones-document#6 · 1 comentario ·
-
Added title helper to RendererAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 35/100
developmentseed/bones-document#5 · 1 comentario ·
-
Style/UI regressionsQuizá libre de nuevo @yhahn la tomó hace 5631 días y no hay ningún pull request abierto. Abierto
developmentseed/bones-document#4 · 1 asignado ·
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 30/100
Todos los issues de developmentseed/bones-document
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
-
enhancement
Dificultad 1/5 1-3 horas Aptitud para principiantes 85/100
holepunchto/hrpc-test#28 ·
-
good first issue
Dificultad 1/5 1-3 horas Aptitud para principiantes 88/100
anoopcodehack/DevBoard#616 ·
Los mantenedores suelen responder en 2 días
-
idnits3
Dificultad 2/5 1-3 horas Aptitud para principiantes 63/100
ietf-tools/idnits#319 ·
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 76/100
521xueweihan/HelloGitHub#3939 ·