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


89

多くの場合、Webページのテキストボックス内のテキストを書式設定するには、Tabキーを押します。

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

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

回答:


10

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


4
Chromeのソリューションはありますか?
ソリン

2
@SorinSbarnea:私の答えをご覧ください
ヤヌス・

Firefoxとの互換性はなくなりました。
-rory.ap

これはFirefox 64で動作するプラグインです:addons.mozilla.org/en-US/firefox/addon/textarea-tabbing
Stefan_Fairphone

このプラグインはもう存在しません(答えに誤りはありません。質問への回答があり、Firefoxが大きく変わってからほぼ10年が経過しています)。
aoeu

63

Windowsでは、Alt+ を押すことができます09。これは、テンキーの数字キーでのみ機能します。(Alt最後の数字キーを押してから離します。)


3
あなたはテンキーのキーを使用していることを確認してください
CatamountJack

@Chris:これらの正確な指示に従うと、タブ文字は挿入されませんが、タブキーのように機能します。Webブラウザーでこれを試しましたか?
Casebash

@Casebashこの非常にコメントウィンドウ、Chrome、Windows 7 x64で動作します。
クリス

2
Windowsとテンキー付きのキーボードがある場合のみ。
機械式カタツムリ

1
...そして、Chromeを使用している場合。FFはタブキーのように見えますが、IEは何もしないようです。繰り返しますが、この単純な古いハックを思い出させるために+1 :)
ハリルÖzgür11年


13

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


7
これは、エルキャップのChrome 50では動作しないようです
-jcollum

1
Sierra上のFirefox 53でも同様です。
ジェイソンR.クームス

1
@ JasonR.CoombsはまだSafariで動作するので、この回答を書いてから4年以内にFirefoxで何かが変わったと想定しても安全です。
ダニエルベック

9

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

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

出来上がり!


1
Ciro、通常のテキストボックスとテキスト入力フィールドでは壊れていますか、それとも「コンテンツ編集可能」な要素ですか?それが「コンテンツ編集可能」の問題だけであれば、それほど多くの人々(例えばOP)に影響を与えないかもしれないからです
...-Doin

2
これは、頻繁に行う必要がない限り、最も簡単なソリューションでした。
jcollum

8

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

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

ただし、問題は、多くの場合、標準のタブ挿入動作が必要なことです。タブを使用してボックスを切り替える場合は、オプションでデフォルトで「無効」を選択できます。


4

あなたのサイトの場合:

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

jQuery(document).ready(function () {

     $("textarea").tabby();

});

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

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


リンクは無効です。これらすべてのjQueryのものは何ですか。プレーンなJavaScriptを使用してタブを受け入れる方法が必要です。jQueryプラグインは、既に実装されているソリューションには常に適していますが、実際にはソリューションではありません。
トリインコ14

このチーフを試してください:stackoverflow.com/a/13130
Grizly 14

1

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

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

javascriptソリューションには、アクションを実行するテキストボックスの名前が必要であるため、これは理想的でも実用的でもありません。両方のブラウザーでAltキーコードの組み合わせを使用しても、通常のタブ文字キー押下イベントが実行されるため、どちらも機能しません。


1

この機能を得るためにAutoHotkeyを少し台無しにしましたが、見つけた唯一の「防弾」ソリューションは、タブキャラクター自体を貼り付ける(送信しない)ことです。

;
; 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。




0

テキストボックスにタブキーを入力するには、次のようなスクリプトを使用できます(タブキーを受け入れるテキストボックスの名前は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。この関数にはTextBox、Tab文字の入力を有効にするために必要なコントロールを指定するパラメーターが1つだけあります。

[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

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

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

あなたはahkコードでコードの詳細な説明を見ることができます

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.