Nhập ký tự tab trong hộp văn bản trình duyệt


89

Rất nhiều lần, khi tôi muốn định dạng văn bản trong hộp văn bản của trang web, tôi sẽ nhấn Tabphím.

Thật không may, điều đó không chèn ký tự tab mà thay vào đó di chuyển điều khiển sang phần tử biểu mẫu tiếp theo (như nút hoặc hộp kiểm).

Đối với các trình duyệt như Firefox / IE, có cách nào để có được hành vi định dạng của tab, trong hộp văn bản, bằng cách nhập tổ hợp phím không?

Câu trả lời:


10

Tabinta là một tiện ích bổ sung cho phép bạn làm điều này.


4
Có giải pháp nào cho Chrome không?
sorin

2
@SorinSbarnea: Xem câu trả lời của tôi
Janus Troelsen

Nó không tương thích với Firefox nữa.
rory.ap

Đây là một plugin hoạt động trong Firefox 64: addons.mozilla.org/en-US/firefox/addon/textarea-tabbing
Stefan_Fairphone

Plugin này không còn tồn tại (không có lỗi của câu trả lời, đã gần một thập kỷ kể từ khi câu hỏi được trả lời và Firefox đã thay đổi rất nhiều).
aoeu

63

Trong Windows, bạn có thể đẩy Alt+ 09. Điều này chỉ hoạt động với các phím số pad. (Phát hành Altsau khi nhấn phím số cuối cùng.)


3
Hãy chắc chắn rằng bạn đang sử dụng các phím NumPad
CatamountJack 17/03/2016

@Chris: Khi tôi làm theo các hướng dẫn chính xác đó, nó không chèn ký tự tab, nhưng hoạt động như phím tab. Bạn đã thử điều này trong một trình duyệt web?
Casebash

@Casebash Nó hoạt động trong chính cửa sổ bình luận này, trong Chrome, trong Windows 7 x64.
Chris

2
Chỉ khi bạn có Windows và bàn phím có bàn phím số.
Ốc cơ khí

1
... và nếu bạn đang sử dụng Chrome. FF thấy nó giống như phím tab, IE dường như không làm gì cả. Một lần nữa, +1 để nhắc nhở bản hack cũ đơn giản này :)
Halil zgür

50

Linux và các hệ thống POSIX khác (trừ Mac OS):

Để nhập các tab trong ứng dụng GTK + (như Firefox hoặc Chrome):

  1. Ctrl+ Shift+U

  2. Thể loại 9

  3. Nhấn SpacehoặcEnter

Nguồn: Wikipedia: Unicode Input


Nó hoạt động nhưng không hữu ích để thụt nhiều dòng cùng một lúc.
MYGz

13

Trong Safari và Firefox trên Mac OS X, bạn có thể nhấn ControlOptionTabđể chèn một tab vào trường văn bản bạn đang chỉnh sửa.


7
Có vẻ như điều này không hoạt động trong Chrome 50 trên El Cap
jcollum

1
Cũng không trên Firefox 53 trên Sierra.
Jason R. Coombs

1
@ JasonR.Coombs Vẫn hoạt động trong Safari, vì vậy thật an toàn khi giả định điều gì đó đã thay đổi trong Firefox trong bốn năm kể từ khi tôi viết câu trả lời này.
Daniel Beck

9

Mở Notepad hoặc trình soạn thảo văn bản tương tự và bắt đầu một tài liệu trống mới. Loại Tab. Sao chép ký tự tab của bạn vào clipboard. (Trên Windows, Ctrl+ A, Ctrl+ Csẽ làm điều này).

Bây giờ chuyển trở lại textarea trong trình duyệt của bạn. Định vị con trỏ nơi bạn muốn và dán ký tự tab. ( Ctrl+ Vtrên Windows).

Voila, xong rồi!


1
Ciro, nó có bị hỏng đối với các hộp văn bản thông thường và các trường nhập văn bản hay chỉ là các phần tử "có thể nội dung"? Bởi vì nếu đó chỉ là một vấn đề đối với "nội dung có thể", thì nó có thể không ảnh hưởng đến nhiều người (ví dụ như OP) ...
Doin

2
Đây là giải pháp đơn giản nhất, trừ khi bạn cần làm điều này thường xuyên.
jcollum

8

Có một plugin Chrome có tên là Textarea Code Formatter .

Nó cho phép bạn chèn các tab vào hộp văn bản trong trình duyệt Chrome. Nó cũng cho phép bạn làm nổi bật nhiều dòng và chèn các tab trước mỗi dòng được chọn.

Tuy nhiên, một vấn đề là bạn thường muốn có hành vi chèn tab tiêu chuẩn. Nếu bạn sử dụng tab để chuyển đổi giữa các hộp, thì bạn có thể chọn "tắt" theo mặc định trong các tùy chọn.


4

Nếu đó là trang web của bạn:

Plugin jQuery: http://teddevito.com/demos/textarea.html

jQuery(document).ready(function () {

     $("textarea").tabby();

});

Trước tiên, tải jQuery và plugin, sau đó bạn có thể tạo tab và tạo một tab và chuyển tab + thành "gỡ bỏ" như cũ.

Để hỗ trợ trên toàn trình duyệt, bạn sẽ phải sử dụng tiện ích mở rộng, usercript, plugin, v.v. như: 46704 cho Greasemonkey .


Liên kết đã chết. Những gì với tất cả các công cụ jQuery này. Phải có một cách để chấp nhận các tab sử dụng JavaScript đơn giản. Plugin jQuery luôn tốt cho một giải pháp đã được triển khai, nhưng nó không thực sự là giải pháp.
Triynko

Hãy thử trưởng này: stackoverflow.com/a/13130
Grizly

1

Ưu điểm lớn của Tabinta trong Firefox là bạn có thể ánh xạ ký tự tab sang một phím nóng khác, vì bạn thực sự không muốn mất hành vi mặc định của tab tab trong trình duyệt.

Với Internet Explorer, bạn không có giải pháp nào trong cách mở rộng trình duyệt mà tôi biết. Ở đây cách duy nhất là giữ ký tự tab trong bảng tạm bằng cách sao chép trước đó từ một số chương trình khác như notepad.

Các giải pháp javascript yêu cầu tên của hộp văn bản nơi chúng sẽ hoạt động, vì vậy điều này không lý tưởng hoặc thực tế. Mặc dù các tổ hợp mã khóa alt trong cả hai trình duyệt vẫn thực hiện sự kiện nhấn phím ký tự tab bình thường để chúng không hoạt động.


1

Tôi đã nhầm lẫn với AutoHotkey một chút để có được khả năng này và giải pháp 'chống đạn' duy nhất tôi tìm thấy là thực sự dán (không gửi) chính ký tự tab.

;
; TAB character
; pasted from clipboard
; win tab
;
#tab::
old_clip:=clipboard
clipboard:=A_Tab
clipWait
sendInput,^v
clipboard:=old_clip
clipWait
return

Nó chỉ ra rằng liên kết AHK này thậm chí còn hữu ích trong các trình soạn thảo văn bản xử lý thêm phím TAB; ví dụ. IDE được cấu hình để sử dụng autoindent-by-space.




0

Để nhập khóa tab trong hộp văn bản, bạn có thể sử dụng tập lệnh như thế này (hộp văn bản chấp nhận các phím tab được đặt tên txtLongText):

[VB.NET]

txtLongText.Attributes.Add("onkeydown", _
"if(event.which || event.keyCode){if ((event.which == 9)" & _ 
"|| (event.keyCode == 9)) {document.getElementById('" & _ 
txtLongText.ClientID + "').selection = " & _
document.selection.createRange();" & _ 
txtLongText.ClientID & ".selection.text = " & _
" String.fromCharCode(9);return false;}} else {return true}; ")

[C #]

txtLongText.Attributes.Add("onkeydown", 
"if(event.which || event.keyCode){if ((event.which == 9)" +
"|| (event.keyCode == 9)) {document.getElementById('"+
txtLongText.ClientID + "').selection = document.selection.createRange();" + 
txtLongText.ClientID + ".selection.text = String.fromCharCode(9);return false;}} else {return true}; ");

Hoặc tốt hơn, để tránh mã hóa cứng, bạn có thể đặt mã này vào một hàm có tên EnableTabType. Hàm chỉ có một tham số, xác định điều TextBoxkhiển là nơi bạn cần kích hoạt nhập các ký tự Tab.

[VB.NET]

Public Sub EnableTabType(tb As TextBox)
    tb.Attributes.Add("onkeydown", _
    "if(event.which || event.keyCode){if((event.which == 9)" & _ 
    "|| (event.keyCode == 9)) {document.getElementById('" & _ 
    tb.ClientID & "').selection=document.selection.createRange();" & _
    tb.ClientID & ".selection.text = " & _
    " String.fromCharCode(9);return false;}}else{return true};")
End Sub 

[C #]

public void EnableTabType(TextBox tb)
{ 
    tb.Attributes.Add("onkeydown", 
    "if(event.which || event.keyCode){if ((event.which == 9)" +
    "|| (event.keyCode == 9)) {document.getElementById('"+
    tb.ClientID + "').selection = document.selection.createRange();" +
    tb.ClientID + ".selection.text = String.fromCharCode(9);return false;}} else {return true}; ");
}

Nguồn: http://www.beansoftware.com/ASP.NET-Tutorials/Access-Tab-Key.aspx


0

hoặc sử dụng ahk để chèn không gian 4 * trong trình chỉnh sửa:

^Right::
tabspace:="    "
send,%tabspace%    
return 

bạn có thể xem chi tiết mã khai thác trong mã ahk

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.