Web浏览器非常适合Web应用程序的瘦客户端。
但是如果用户必须在编辑框中输入一些代码(选项卡和格式很重要),在Web浏览器中,每次他点击“标签”键时,他都会浏览网页控件,而不是打印“tab”字符。
是否有任何免费的网页控件或是否有任何代码可以获得相反的行为? Google Docs完美地做到了这一点。
感谢。
答案 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键的位置并相应地插入字符。