如何創建一個允許用戶輸入選項卡的文本框,並且在按下選項卡按鈕時不會將用戶發送到下一個元素?文本框中的選項卡
Q
文本框中的選項卡
4
A
回答
7
您只需要檢查標籤onkeydown
通過event.keyCode === 9
。將字符插入到textarea中並不重要 - 爲'insertatcaret'使用庫或谷歌。
2
您可以使用JavaScript來捕捉Tab鍵按下事件並將其替換爲空格(我不確定是否將製表符插入到textarea中)。
E:This page看起來不錯。
1
onkeypress事件,的onkeyup或onkeydown事件檢查按下的鍵,如果是文本框選項卡,然後追加\ T和返回false,以便重點仍然是文本框 你很可能不得不使用textranges使標籤可以插入任何地方不在文本末尾 這是其餘的基本想法谷歌是你的朋友:)
5
2
<textarea onkeydown="return catchTab(this, event);">
JS代碼:
function setSelectionRange(input, selectionStart, selectionEnd) {
if (input.setSelectionRange) {
input.focus();
input.setSelectionRange(selectionStart, selectionEnd);
}
else if (input.createTextRange) {
var range = input.createTextRange();
range.collapse(true);
range.moveEnd('character', selectionEnd);
range.moveStart('character', selectionStart);
range.select();
}
}
function replaceSelection (input, replaceString) {
if (input.setSelectionRange) {
var selectionStart = input.selectionStart;
var selectionEnd = input.selectionEnd;
input.value = input.value.substring(0, selectionStart)+ replaceString + input.value.substring(selectionEnd);
if (selectionStart != selectionEnd){
setSelectionRange(input, selectionStart, selectionStart + replaceString.length);
} else{
setSelectionRange(input, selectionStart + replaceString.length, selectionStart + replaceString.length);
}
} else if (document.selection) {
var range = document.selection.createRange();
if (range.parentElement() == input) {
var isCollapsed = range.text == '';
range.text = replaceString;
if (!isCollapsed) {
range.moveStart('character', -replaceString.length);
range.select();
}
}
}
}
function catchTab(item,e){
if(navigator.userAgent.match("Gecko")){
c=e.which;
} else{
c=e.keyCode;
}
if(c==9){
replaceSelection(item, "\t");
setTimeout(function() { item.focus() } , 0);
return false;
}
}
0
難道不力圖捕捉onkeypress事件事件的 'TAB' 鍵IE(它不工作) (bug 249)
嘗試onkeydown或onkeyup ins TEAD。
相關問題
- 1. 更改選項卡選擇選項卡時的文本顏色
- 2. 從Javascript中的文本框中刪除選項卡空間
- 3. 在不同的選項卡中更改組合框的文本
- 4. 將文本框值添加到選項卡上的列表框
- 5. 啓用引導選項卡中的選擇文本選項
- 6. Xamarin Android ActionBar選項卡 - 1選項卡不顯示文本
- 7. 安卓選項卡布局與選項卡文本中的箭頭按鈕
- 8. 在GridView的TemplateField文本框輸入鍵執行像選項卡
- 9. 合併選項卡中的選項卡
- 10. yii框架中的2個選項卡
- 11. 框架7中的嵌套選項卡。
- 12. 複選框的項目文本選擇
- 13. 如何在wordpress中將文本選項卡更改爲html選項卡
- 14. 文本框焦點 - 點擊與選項卡使用VB
- 15. 自動選項卡下一個空白文本輸入框
- 16. 如何修改文本框控件選項卡停止
- 17. Android:tabSelectedTextColor不會更改TabLayout中選定選項卡的文本
- 18. jQuery UI的變化選項卡中選擇標籤文本
- 19. 對齊選項卡文本上方的ActionBar導航選項卡圖標?
- 20. 選項卡控件,與垂直對齊文本垂直對齊的選項卡
- 21. C#選項卡旋轉文本
- 22. 如何在WPF中的選項卡控件中設置選項卡標題文本的選定值路徑
- 23. JQuery UI選項卡 - 在選項卡下面沒有行邊框
- 24. Javascript選項卡式搜索框選項卡highlighing
- 25. 如何根據Python中的選項卡解析文本文件?
- 26. 如何檢測文本文件中的選項卡?
- 27. 在Access 2007中的選項卡外部選項卡上的選項卡
- 28. ASP.NET列表框選擇的項目改變文本框文本
- 29. 文本框/選擇高級選項
- 30. 選擇選項時驗證文本框
元篩選器正在工作,所以我編輯了你的答案。 – UnkwnTech 2009-02-16 02:19:53