浏览器编辑控件中的Tab键行为

时间:2008-12-27 12:38:00

标签: browser

Web浏览器非常适合Web应用程序的瘦客户端。

但是如果用户必须在编辑框中输入一些代码(选项卡和格式很重要),在Web浏览器中,每次他点击“标签”键时,他都会浏览网页控件,而不是打印“tab”字符。

是否有任何免费的网页控件或是否有任何代码可以获得相反的行为? Google Docs完美地做到了这一点。

感谢。

2 个答案:

答案 0 :(得分:3)

Yahoo UI库有一个rich text editor,可以正确处理制表符。

编辑:我怀疑(因为我没看过)YUI编辑器和Google编辑器通过向文本容器添加onKeyPress处理程序来实现这一点。当他们检测到制表符时,他们会将一个制表符附加到容器中,并返回false以取消正常的制表符操作。

答案 1 :(得分: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键的位置并相应地插入字符。