我想允許在我的textarea中使用文字TAB
(\t
)字符。但是,密鑰循環到下一個表單元素。既然這是預期的,我不想打破這個標準。同樣,CTRL + TAB
週期瀏覽器選項卡。是否有一個推薦的組合鍵,讓人們在textarea中輸入實際的TAB
?使用Javascript將製表符添加到textarea
例如,CTRL + SPACE
似乎沒有做任何事情,可以使用?
另外,我將如何正確聽這些組合?
我想允許在我的textarea中使用文字TAB
(\t
)字符。但是,密鑰循環到下一個表單元素。既然這是預期的,我不想打破這個標準。同樣,CTRL + TAB
週期瀏覽器選項卡。是否有一個推薦的組合鍵,讓人們在textarea中輸入實際的TAB
?使用Javascript將製表符添加到textarea
例如,CTRL + SPACE
似乎沒有做任何事情,可以使用?
另外,我將如何正確聽這些組合?
這是我使用的文字區域,以保持TAB從焦點切換代碼:
$("textarea").keydown(function(e) {
var $this, end, start;
if (e.keyCode === 9) {
start = this.selectionStart;
end = this.selectionEnd;
$this = $(this);
$this.val($this.val().substring(0, start) + "\t" + $this.val().substring(end));
this.selectionStart = this.selectionEnd = start + 1;
return false;
}
});
嗨,肯湯普森,你能解釋一下什麼是'this.selectionStart;和this.selectionEnd;'??我對這個說法有點困惑。 – 2015-06-13 08:44:36
它基本上標識了光標位置(假設沒有實際選擇)。請參閱https://developer.mozilla.org/en-US/docs/Web/API/HTMLTextAreaElement – 2015-06-15 16:42:32
你可以
Tab Override(我自己的項目)啓用了textareas中的選項卡功能,並且還允許使用自定義組合鍵。這樣,Tab鍵可以繼續正常使用。
你試過這個嗎? https://github.com/jeresig/jquery.hotkeys但嚴重的是,作爲一個用戶,我會發現這種行爲超級煩人。此行爲在文本區域中不是「預期的」。 – 2012-03-30 21:59:44
@KenThompson,就是這一點。我想找到一個不會影響用戶的未使用組合,只在需要時才提供其他功能。 – Xeoncross 2012-03-30 22:02:54
用戶將點擊TAB鍵,並期望它在文本區域中輸入一個或多個選項卡。如果這就是你想要實現的,那麼你不需要插件。你只需要防止傳播。只是谷歌「允許在文本區域選項卡」,你會發現你的答案。你的問題聽起來像你試圖讓TAB轉到另一個元素......並要求用戶不喜歡這個來使用(和記憶)不同的組合。這是我會覺得煩人的。 – 2012-03-30 22:07:28