keydownを使用してキャンバスでの表示を試みましたが、「バックスペース」を押すか、テキストを削除しても削除されません。キャンバスへのhtml入力がバックスペースを受け入れる
var canvas = document.getElementById('myCanvas');
var context = canvas.getContext('2d');
// do cool things with the context
context.font = '40pt Calibri';
context.fillStyle = 'blue';
$('input').keydown(function(e){
if(e.keyCode==8)
{
var newvalue = $(this).val();
context.fillText(newvalue, 150, 100);
}
});
$('input').keyup(function(){
context.fillText($(this).val(), 150, 100);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<input type="text" value="">
<canvas id="myCanvas" width="578" height="200"></canvas>
キャンバスがそのように動作しませんが、あなたはオフにして、それを再描画(または図面に追加)する必要があります。キャンバスは絵のように絵画的に描かれていますが、その上にテキストをペイントしています。あなたがしていることを模倣したライブではありません。変更されたテキストを消去してから再描画するには、おそらく 'canvasContext.clearRect(0,0、canvas.width、canvas.height)'が必要です。今は同じテキストを何度も繰り返しペイントしています。 – somethinghere