2008-12-27 30 views
5

Web瀏覽器與Web應用程序的瘦客戶端一樣好。瀏覽器編輯控件中的Tab鍵行爲

但是,如果用戶必須在Web瀏覽器內的編輯框中輸入一些代碼(其中選項卡和格式很重要),那麼每次他點擊「選項卡」鍵時,他都會瀏覽網頁控件,而不是打印「標籤」字符。

有沒有免費的網頁控制或有任何代碼來獲得相反的行爲?
Google Docs這是完美的。

謝謝。

回答

3

雅虎UI庫有一個rich text editor,它可以正確處理製表符。編輯

編輯:我懷疑(因爲我沒有看過),YUI編輯器和谷歌的編輯器都通過在文本容器中添加onKeyPress處理程序來實現此目的。當他們檢測到一個製表符時,他們會在容器中附加一個製表符並返回false來取消常規制表符動作。

2

您可以過濾keyDown事件,趕上tab鍵:

<html> 
<body> 
<script type="text/javascript"> 
function keyFilter(e, field) { 
    var key = window.event ? e.keyCode : e.which; 
    if (key == 9) { 
    field.value += "\t"; 
    return false; 
    } 
    return true; 
} 
</script> 

<form> 
<textarea onkeydown="return keyFilter(event, this);"></textarea> 
</form> 
</html> 

編輯:請注意,這當然比這更復雜。需要跟蹤文本中按Tab鍵的位置並相應地插入字符。

+0

在我的Firefox中的Macintosh上,您需要檢查e.keyCode作爲e.which沒有設置的製表符。 – tvanfosson 2008-12-27 13:30:05