web-dev-qa-db-ja.com

ブラウザのテキストボックスにタブ文字を入力する

多くの場合、Webページのテキストボックス内でテキストをフォーマットしたいときは、 Tab キー。

残念ながら、タブ文字を挿入するのではなく、コントロールを次のフォーム要素に移動します(ボタンやチェックボックスなど)。

Firefox/IEのようなブラウザの場合、テキストボックス内で、キーの組み合わせを入力してタブの書式設定動作を取得する方法はありますか?

86
Rohit

Tabinta はこれを可能にするFirefoxアドオンです。

10
invert

Windowsでは、あなたはプッシュすることができます Alt+9。これはテンキーテンキーでのみ機能します。 (リリース Alt 最後の数字キーを押した後)

61
ta.speot.is

Linuxおよびその他のPOSIXシステム(Mac OSを除く)

GTK +アプリケーション(FirefoxやChromeなど)でタブを入力するには

  1. Ctrl + Shift + U

  2. タイプ 9

  3. 押す Space または Enter

ソース: ウィキペディア:Unicode Input

46
Janus Troelsen

Mac OS X上のSafariとFirefoxでは、次のキーを押すことができます。 ControlOptionTab 現在編集中のテキストフィールドにタブを挿入します。

13
Daniel Beck

メモ帳または同様のテキストエディタを開き、新しい空白の文書を作成します。タイプ Tab。タブ文字をクリップボードにコピーします。 (Windowsでは、 Ctrl+A、 Ctrl+C これを行います)。

ブラウザのテキストエリアに戻ります。目的の場所にカーソルを置き、タブ文字を貼り付けます。 (Ctrl+V Windowsでは)。

出来上がりました。

9
Doin

Textarea Code Formatter というChromeプラグインがあります。

Chromeブラウザのテキストボックスにタブを挿入することができます。また、複数の行を強調表示したり、選択した各行の前にタブを挿入したりすることもできます。

しかし、問題はしばしばあなたが標準のタブ挿入動作を望んでいるということです。タブを使ってボックスを切り替える場合は、オプションでデフォルトで "無効"を選択することができます。

8
Jeromy Anglim

あなたのサイトの場合

jQueryプラグイン: http://teddevito.com/demos/textarea.html

jQuery(document).ready(function () {

     $("textarea").tabby();

});

最初にjQueryとプラグインをロードしてから、タブを作成してタブを作成し、+ tabをそのまま「untab」に移動します。

ブラウザ全体をサポートするには、 Greasemonkey に46704のような拡張子、ユーザースクリプト、プラグインなどを使用する必要があります。

4
Grizly

私はこの能力を得るためにAutoHotkeyをちょっとめちゃくちゃにしていますが、私が見つけた唯一の「防弾」解決策はpaste /です。(送信しない)タブ文字そのもの。

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

このAHKバインドは、追加のTABキーストロークを処理するテキストエディタでさえも便利です。例えば。 IDEスペースによる自動インデントを使用するように設定されています。

1
myf

FirefoxTabinta を使用する大きな利点は、タブ文字を別のホットキーにマッピングできることです。ブラウザのタブキーのデフォルトの動作を失いたくない。

Internet Explorerでは、私が知っているブラウザの拡張機能のような解決策はありません。ここでの唯一の方法は、以前にメモ帳などの他のプログラムからタブ文字をコピーして、クリップボードにタブ文字を保持することです。

javaScriptソリューションでは、アクションを実行するテキストボックスの名前が必要になるため、これは理想的でも実用的でもありません。両方のブラウザでaltキーコードの組み合わせはまだ通常のタブ文字のキープレスイベントを実行するので、それらはどちらも動作しません。

1
A Dwarf

Tab Grabber は、Tabintaのようなちょっとしたものです。Chrome専用です(textareaフィールドにTABを使うことができます)。

0
SiteKickr

JQuerryのタビーを使う!行を選択してタブを押すのをサポートしていますodr SHIFT TAB

http://www.herby.sk/trapped/bower_components/jquery-tabby/textarea.mirror.html

0
liquid2026

テキストボックスにタブキーを入力するには、次のようなスクリプトを使用します(タブキーを受け付けるテキストボックスの名前は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}; ");

あるいは、ハードコーディングを避けるために、このコードをEnableTabTypeという名前の関数に入れることができます。この関数には1つのパラメータしかありません。これは、タブ文字の入力を有効にするために必要なTextBoxコントロールを指定します。

[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}; ");
}

出典: http://www.beansoftware.com/ASP.NET-Tutorials/Access-Tab-Key.aspx

0
admintech

またはahkを使用してエディタに4 *スペースを挿入します。

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

コードの詳細説明は ahk code にあります。

0
Lu Zhao