Browser 浏览器编辑控件中的选项卡键行为

Browser 浏览器编辑控件中的选项卡键行为,browser,Browser,Web浏览器可以作为Web应用程序的瘦客户端 但是,如果用户必须在编辑框中输入一些代码(其中制表符和格式很重要),则在web浏览器中,他会在每次点击“制表符”键时浏览网页控件,而不是打印“制表符”字符 是否有任何免费的web控件或代码可以获得相反的行为? 这很完美 谢谢。雅虎用户界面库有一个可以正确处理制表符的功能 EDIT:我怀疑(因为我没有看过)YUI编辑器和Google的编辑器都是通过向文本容器添加onKeyPress处理程序来实现这一点的。当它们检测到制表符时,会将一个制表符附加到容器中

Web浏览器可以作为Web应用程序的瘦客户端

但是,如果用户必须在编辑框中输入一些代码(其中制表符和格式很重要),则在web浏览器中,他会在每次点击“制表符”键时浏览网页控件,而不是打印“制表符”字符

是否有任何免费的web控件或代码可以获得相反的行为?
这很完美

谢谢。

雅虎用户界面库有一个可以正确处理制表符的功能


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

您可以过滤keyDown事件并捕获制表符键:

<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>

功能键过滤器(e,字段){
var key=window.event?e.keyCode:e.which;
如果(键==9){
field.value+=“\t”;
返回false;
}
返回true;
}

编辑:请注意,它当然比这更复杂。您需要跟踪文本中按下tab键的位置,并相应地插入字符。

在Firefox中的我的Macintosh上,您需要检查e.keyCode以查找未设置的tab字符e。嗯。。。在Firefox的Mac上,上述代码可以正常工作。它在Safari中也能用。我用的是FF3。我还以为这是唯一一个特别的密码。