2008-12-27 67 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