MTAppTabSpace
textarea で Tab キーを押したときに文字列(既定は半角スペース4つ)を挿入する jQuery プラグイン。Tab のフォーカス移動を抑止し字下げにできる。選択範囲があれば置換する。
textarea(や input)で Tab キーを押したときに、文字列(既定は半角スペース 4 つ)を挿入する jQuery プラグインです。コードやインデント付きのテキストを入力する欄で、Tab がフォーカス移動ではなく字下げになるようにしたいときに使います。
構文
$(selector).MTAppTabSpace(options);$.fn プラグイン(対象の textarea / input に対して呼び出します)です。
パラメータ
options {Object} — 省略可。以下のプロパティを持ちます。
| プロパティ | 型 | 既定値 | 説明 |
|---|---|---|---|
text | string | ' '(半角スペース 4 つ) | Tab キー押下時にキャレット位置へ挿入する文字列 |
戻り値
{jQuery} — 対象要素(チェーン可能)。
保存される値
テキストエリアの本文がそのまま保存されます。Tab キーで挿入されるのはタブ文字ではなく text オプションの文字列(既定は半角スペース 4 つ)で、それを含んだテキストが保存されます。
使用例
// Tab で半角スペース 4 つを挿入(既定)
$('#customfield_code').MTAppTabSpace();
// Tab でタブ文字を挿入
$('#customfield_code').MTAppTabSpace({ text: '\t' });user.js での記述例
user.js(「デザイン → user.js を編集」)に書く場合は、mtappVars.screen_id で画面を判定して呼び出します。
(function ($) {
if (typeof mtappVars !== 'object') return;
if (mtappVars.screen_id === 'edit-entry') {
$('#customfield_code').MTAppTabSpace();
}
})(jQuery);補足
- Tab キーの既定の動作(次の要素へフォーカス移動)は抑止され、代わりに
textが挿入されます。 - 文字列はキャレット位置に挿入されます。テキストを選択している場合は、その選択範囲が
textで置き換わります。挿入後はキャレットが挿入文字列の直後へ移動します。
関連
MTAppLineBreakField— 改行区切りのテキストを行ごとの入力欄にする。MTAppJSONTable—textareaの JSON を表形式の入力 UI で編集する。