代码之家  ›  专栏  ›  技术社区  ›  friol

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

  •  5
  • friol  · 技术社区  · 17 年前

    对于Web应用程序,Web浏览器和瘦客户机一样好。

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

    是否有任何免费的Web控件或代码来获得相反的行为?
    Google Docs 做得很好。

    谢谢。

    2 回复  |  直到 17 年前
        1
  •  3
  •   tvanfosson    17 年前

    雅虎用户界面库有一个 rich text editor 正确处理制表符。

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

        2
  •  2
  •   PEZ    17 年前

    您可以筛选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键的位置,并相应地插入字符。