Quando si passa a Facebook e si desidera lasciare un commento, per quanto riguarda la lingua selezionata per la tastiera, la direzione della casella di testo cambia automaticamente quando si fa clic su di essa per scrivere il commento. Se hai scelto la lingua araba per la tastiera, la casella di testo ottiene automaticamente la direzione RTL. qualche idea su come è stata implementata? Mi piacerebbe usarlo sulla mia applicazione web.cambia automaticamente la direzione del testo della casella di testo
risposta
È possibile utilizzare la proprietà CSS direction
per raggiungere questo obiettivo:
input{
direction: rtl;
}
Aggiornamento
Per modificare la direzione del testo base in modo dinamico sull'input dell'utente è possibile controllare il primo carattere di ingresso per vedere se soddisfa un determinato criterio, in questo caso un'espressione regolare.
$('input').keyup(function(){
$this = $(this);
if($this.val().length == 1)
{
var x = new RegExp("[\x00-\x80]+"); // is ascii
//alert(x.test($this.val()));
var isAscii = x.test($this.val());
if(isAscii)
{
$this.css("direction", "ltr");
}
else
{
$this.css("direction", "rtl");
}
}
});
Questo è un esempio di base che utilizza ltr
direzione per il testo ASCII e rtl
per tutto il resto.
Grazie, Sì, lo so, ma la direzione sarà comunque sempre. quello che voglio è quando scrivi il primo carattere se sono caratteri inglesi l'input ottiene la direzione lrt e se scrivi arabo o ebraico cambia automaticamente in rtl. – user217648
grazie.ma non ho funzionato in tutto il cambio di swang lang sulla tastiera –
Questa soluzione è molto buona. +1 ...! Jut ha un piccolo problema. Quando premo '
in HTML5 si può semplicemente fare questo:
<input type="text" dir="auto" />
questo cambiare automaticamente la direzione della base di ingresso sul primo carattere. Spero che aiuti.
NOTA:
Modificato: La gente dice che non funziona in IE11.
è meglio rilevare la direzione del testo in base al primo carattere del testo. se il primo appartiene al linguaggio RTL, allora la direzione deve cambiare.
esempio, un testo persiano con la parola inglese al suo interno.
به معنای واقعی stanco هستم
un altro esempio, un paragrafo inglese potrebbe contenere una parola persiana, ma tutto il testo deve essere in LTR.
questa parola viene utilizzata in diverse situazioni. il significato di شیر è ...
questa funzione controllerà il primo carattere digitato in. se appartiene a una lingua RTL, quindi la direzione cambierà. Questo codice supporta tutte le lingue RTL.
function isRTL(str) {
var letters = [];
allRTL = new RegExp(
"^[\u0590-\u05fe\u0600-۾܀-ݎݐ-ݾހ-\u07be߀-\u07fe\u0800-\u083e\u0840-\u085e\u08a0-\u08fe\u0900-ॾ]|\ud802[\udf60-\udf7e]+$"
);
var cursor = 1;
for (var i = 0; i <= cursor; i++) {
letters[i] = str.substring(i - 1, i);
if(/\s/.test(letters[i])) {
cursor++;
}
if (allRTL.test(letters[i])) {
return true;
}
}
return false;
}
var dir = $("input[type=text]");
dir.keyup(function(e) {
if (isRTL(dir.val())) {
$(this).css("direction", "rtl");
} else {
$(this).css("direction", "ltr");
}
});
per ulteriori informazioni visitare questo codepen.
- 1. Cambia il colore del testo della casella di gruppo?
- 2. Modificare la direzione del testo UITextView
- 3. Forzare la direzione del testo per LeadingMarginSpan2
- 4. Rileva la direzione del testo in base al contenuto
- 5. Come ridimensionare automaticamente la dimensione del carattere per adattarla all'altezza/larghezza della casella di testo?
- 6. Ottenere testo da asp: casella di testo
- 7. Cambia il colore di primo piano della casella di testo quando il testo cambia e soddisfa determinati criteri
- 8. cambia la dimensione del carattere testo dell'intero contenuto della pagina
- 9. come inserire la casella di testo nella cella della tabella
- 10. Cambia la posizione di Datepicker all'interno della casella di testo Modelpopup
- 11. Cambia il valore della casella di testo quando un elemento è selezionato nella casella a discesa
- 12. Come si cambia il colore del testo dell'opzione della casella di selezione?
- 13. Per ogni loop della casella di testo
- 14. C# formattazione decimale della casella di testo
- 15. Cambia il colore del testo in MoreNavigationController
- 16. Lettura del valore della casella di testo ASP.NET con JavaScript
- 17. Come disabilitare la modifica della casella di testo?
- 18. Cambia la casella di testo in base alla scelta del parametro booleano in SSRS
- 19. Perdita del valore della casella di testo sul postback
- 20. Cambia il colore del testo della barra di ricerca ios
- 21. Il valore del database della casella di testo/casella di spunta non è corretto finché la casella di testo/casella di controllo non è convalidata
- 22. Aggiornamento casella di testo durante la digitazione
- 23. Come associare la proprietà SelectionStart della casella di testo?
- 24. aumenta la dimensione della casella di testo bootstrap (ASP.NET MVC)
- 25. come si può ridurre la larghezza della casella di testo?
- 26. JQuery Testo predefinito sulla casella di testo vuota
- 27. Password casella di testo Text
- 28. Cambia il colore del testo di UISegmentedControl
- 29. Testo evidenziato automatico in un controllo casella di testo
- 30. Il colore del testo dell'azione della barra snack non cambia
Vedere risposta - http://stackoverflow.com/a/14824756/104380 – vsync