在jCanvas中输出表单输入值

时间:2016-11-21 23:10:27

标签: javascript jquery html5-canvas jcanvas

将输出的文本值输出到jCanvas的有效代码是什么?例如:

姓名[ John Doe ]

然后将John Doe输出到jCanvas上。

我想我知道什么会有用,但我不知道如何将它变成有效的jQuery代码。下面的伪代码:

var input = #input.val

canvas.drawText(

    input

    (dimensions go here)
)

1 个答案:

答案 0 :(得分:1)

以下代码可实现您正在寻找的输出。

总结我们:

  • keyup输入
  • 上收听#name事件
  • 只要发生这种情况,就将输入的值存储到inputString变量
  • 调用jCanvas的clearCanvas方法删除画布上的所有现有文本
  • 最后使用jCanvas的drawText方法将文本打印到画布

$(document).ready(function() {
       
  var inputString;

  $('#name').on('keyup', function () {
    inputString = $(this).val();

    $('canvas').clearCanvas();

    $('canvas').drawText({
      fillStyle: '#000',
      x: 50, y: 50,
      fontSize: 30,
      align: 'left',
      respectAlign: true,
      fontFamily: 'Verdana, sans-serif',
      text: inputString
    });
  });
});
<form>
  <label for="name">Name: </label>
  <input type="text" id="name" maxlength="25" />
</form>

<canvas width="600" height="300"></canvas>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jcanvas/16.7.3/jcanvas.js"></script>