实现textarea接受Tab键的输入
首先我们需要知道,在一般情况下网页上按Tab键是切换控件焦点的。在textarea里也是这样,那么当我们需要在文本框里输入Tab的时候,应该怎么办呢?
首先我们想到直接看一下 textarea 标签是否有控制Tab的属性
没得,好了,下一个。
我的解决方案:
我们可以通过textarea对象捕捉键盘事件,过滤Tab键,然后悄悄把他的处理方式从切换焦点改成插入文本\t(或者4个或8个空格)不就ok了。相当简单。
ps:键盘上的Tab对应码是9。
然后开始行动:
直接给代码吧,有点懒了(很简单)。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>md转换为html</title>
</head>
<body>
<script src="https://cdn.bootcss.com/marked/0.8.0/marked.js"></script>
<link href="http://cdn.bootcss.com/highlight.js/8.0/styles/monokai_sublime.min.css" rel="stylesheet">
<script src="http://cdn.bootcss.com/highlight.js/8.0/highlight.min.js"></script>
<script>hljs.initHighlightingOnLoad();</script>
<script type="text/javascript">
var rendererMD = new marked.Renderer();
marked.setOptions({
renderer: rendererMD,
gfm: true,
tables: true,
breaks: false,
pedantic: false,
sanitize: false,
smartLists: true,
smartypants: false
});
marked.setOptions({
highlight: function (code) {
return hljs.highlightAuto(code).value;
}
});
function insertText