2008-12-27 12 views
5

Przeglądarki internetowe są dobre jako cienkie klienty dla aplikacji internetowych.Zachowanie klawiszy kart w kontrolce edycji przeglądarki

Ale jeśli użytkownik musi wprowadzić kod (w którym zakładki i formatowanie są ważne) w polu edycji, w przeglądarce internetowej, porusza się po elementach sterujących strony internetowej za każdym razem, gdy uderza klawisz "tabulatora", zamiast drukować znak "tabulacji".

Czy są jakieś bezpłatne kontrole internetowe lub czy istnieje kod, który pozwala uzyskać przeciwne zachowanie?
Google Docs robi to doskonale.

Dzięki.

Odpowiedz

3

W bibliotece Yahoo UI znajduje się rich text editor, która obsługuje poprawnie znaki tabulacji.

EDIT: Podejrzewam (bo nie wyglądało), że zarówno wydawca i redaktor YUI Google'a to osiągnąć przez dodanie obsługi onkeypress do kontenera tekstu. Po wykryciu znaku tabulacji dodają zakładkę do kontenera i zwracają wartość false, aby anulować normalną czynność karty.

2

można filtrować zdarzenia keyDown i złapać klawisz TAB:

<html> 
<body> 
<script type="text/javascript"> 
function keyFilter(e, field) { 
    var key = window.event ? e.keyCode : e.which; 
    if (key == 9) { 
    field.value += "\t"; 
    return false; 
    } 
    return true; 
} 
</script> 

<form> 
<textarea onkeydown="return keyFilter(event, this);"></textarea> 
</form> 
</html> 

EDIT: Należy pamiętać, że jest to oczywiście bardziej skomplikowana niż to. Trzeba śledzić, gdzie w tekście naciśnięto klawisz tabulatora i odpowiednio wstawić znak.

+0

Na moim Macintoshu w Firefoksie, musisz sprawdzić e.keyCode dla znaku tabulacji jako e, który nie jest ustawiony. – tvanfosson

+0

Ktoś wie, jak to zrobić (uzyskać kod) poprawnie? – PEZ

+0

Ummm ... Na moim Macu w Firefoksie powyższy kod działa. I działa również w Safari. – PEZ

Powiązane problemy