SOURCE

console 命令行工具 X clear

                    
>
console
var $canvas = $('#canvas')
var $editable = $('#editable')
var $hideText = $('#hideText')
var ctx = $(canvas)[0].getContext("2d");
$editable.keyup(function handleEdittable () {
  var txt = $editable.val()
  var html = txt.replace(/(\S)/ig, '<span>$1</span>')
  html = html.replace(/\n|\r/ig, '<br>')
  html = html.replace(/\s/ig, ' ')
  $hideText.html(html)
  drawText()
})
function drawText () {
  ctx.clearRect(0, 0, $(canvas).width(), $(canvas).height());
  var fontSize = $hideText.css('fontSize')
  ctx.font = fontSize + ' sans-serif'
  ctx.textAlign = 'conter'
  ctx.textBaseline = "top"
  ctx.fillStyle = '#FFFFFF'
  $.each($("#hideText span"), function (i, item) {
    var pos = $(item).position();
    var txt = $(item).text();
    ctx.fillText(txt, pos.left, pos.top);
  })
}
<p>
  输入:
</p>
<div id="editableWarp">
  <div id="hideText">
  </div>
  <textarea id="editable" placeholder="请输入文字...">
  </textarea>
</div>
<p>
  canvas输出:
</p>
<canvas id="canvas" width="400" height="125">
  您的浏览器不支持canvas。
</canvas>
* {
  margin: 0
}

#canvas,
#editableWarp,
#editable,
#hideText {
  width: 400px;
  height: 125px;
  padding: 0;
  border: 0;
  background: #333;
  color: #FFF;
  font-size: 14px;
  font-family: 'sans-serif';
  position: relative;
  z-index: 1
}

#hideText {
  z-index: 0;
  position: absolute;
  word-break: break-word;
  word-wrap: break-word;
}

本项目引用的自定义外部资源