Enfoque la zona de texto con el cursor tras el texto en el navegador de Android
Actualmente estoy escribiendo una aplicación web simple para ver los tweets en el navegador de Android. Estoy utilizando este código para enfocar el cursor después del texto actual:
var oldContent = document.tweetBox.tweet.value; document.tweetBox.tweet.value = ''; document.tweetBox.tweet.focus(); document.tweetBox.tweet.value = oldContent + to;
Este código funciona perfectamente en Chrome, Fluid, Opera, Firefox en Safari.
La parte más extraña es que el cursor comienza a parpadear DESPUÉS del texto 'to' si uso mi teclado de hardware, pero el texto que ingreso comienza donde estaba escribiendo antes de que se ejecutara el JS anterior.
Si utilizo el teclado virtual, el texto que ingresa comienza al principio de la área de texto.
- Problema de integración de Paypal en titanio
- Cámara de Córdoba PictureSourceType PHOTOLIBRARY v SAVEDPHOTOALBUM
- ¿Cómo hace la interfaz ReadableMap en React-native convertir JS a JAVA?
- El método de reproducción de la API de IFrame de YouTube no funciona antes de tocar algunas tabletas Android
- JQuery preventDefault no funciona en el navegador predeterminado de android 4.4
ps El javascript es parte de una sugerencia para los seguidores, así que si empiezas a escribir @gn, sugerirá @gnur_nl en una div separada y al presionar enter esta entrada se elige.
Actualización: este comportamiento parece ser el resultado de un error de explorador, se ha presentado un informe de error .
- Seleccionar texto con javascript y mostrar la ventana de copia de Android
- Menú contextual y dispositivos con pantalla táctil
- Rendimiento de Android de ThreeJS
- Android 4.0.3, window.openDatabase no funciona
- Práctica recomendada para la autorización / acción de Facebook en dispositivos móviles sin complementos
- Raspado html generado dinámicamente dentro de la aplicación para Android
- Uncaught ReferenceError: El medio no está definido
- Console.log no funciona en el emulador de Android 2.1
Suena como un error de navegador. Intente ajustar manualmente la posición del cursor:
var textArea = document.tweetBox.tweet, oldContent = textArea.value; textArea.value = oldContent + to; textArea.focus(); textArea.selectionStart = textArea.selectionEnd = textArea.value.length;
setCaret = function(obj,pos) { // IE Support if (document.selection) { // Set focus on the element obj.focus (); // Create empty selection range var oSel = document.selection.createRange (); // Move selection start and end to 0 position oSel.moveStart ('character', -obj.value.length); // Move selection start and end to desired position oSel.moveStart ('character', pos); } //standard browsers else if (obj.selectionStart || obj.selectionStart == '0') { obj.selectionStart = pos; obj.selectionEnd = pos; obj.focus (); } };
y ajuste a las posiciones correctas
setCaret(document.getElementById("area"),document.getElementById("area").value.length);
- Android People.Number y People.Number_key devuelven null
- Evento para manejar la aplicación está cerrado (Iónico)