Ich versuchte mit Keydown und keyup seine Darstellung in Leinwand, aber wenn ich 'Backspace' drücken oder löschen Sie den Text immer noch nicht löschen.html Eingabe in Canvas akzeptieren Rücktaste
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>
Eine Leinwand wie das nicht funktioniert, müssen Sie es löschen und neu zu zeichnen (oder die Zeichnung hinzufügen). Eine Leinwand ist metaphorisch wie ein Gemälde, du malt Text darauf - es ist nicht live nachzuahmen, was du tust. Sie benötigen wahrscheinlich 'canonContext.clearRect (0,0, canvas.width, canvas.height)' ', um den Text zu löschen und neu zu zeichnen, sobald er sich geändert hat. Im Moment maltest du immer wieder denselben Text. – somethinghere