javascript - 使用 fabric.js 删除之前添加的 Canvas 文本

标签 javascript jquery css html fabricjs

在文本区域的更改事件中,我想更改已经在 Canvas 上绘制的文本。按照我编写的代码,使用 if/else 条件我正在删除之前添加的文本。删除在这里不能完美地工作。文本更改后,如果我将文本拖到某处,那么文本将更改为第一个已经删除的文本,这会有什么问题?

$('#filedset').delegate(' textarea', 'change ', function () {
    var canvas = new fabric.Canvas('design_text');
    if (x == 0) {
        alert('if called');

        var message = $(this).val();

        console.log('text area change' + message);
        var text = new fabric.Text(message, {
            left: 150,
            top: 60
        });
        canvas.remove(text1);
        canvas.add(text);
        x = 1;
    } else {
        alert('else called');

        var message = $(this).val();

        console.log('text area change' + message);
        var text1 = new fabric.Text(message, {
            left: 150,
            top: 60
        });
        canvas.remove(text);
        canvas.add(text1);
        x = 0;

    }
}

最佳答案

当然。我创建了小 jsfiddle:http://jsfiddle.net/Kienz/BTh6A/

var canvas = new fabric.Canvas('design_text');

$('#filedset').on(' textarea', 'change ', function(e) {
  var obj = canvas.getActiveObject() || canvas.item(0),
      text = e.target.value;

  if (!obj || obj.type !== 'text') return;

  obj.setText(text);

  canvas.renderAll();
});

关于javascript - 使用 fabric.js 删除之前添加的 Canvas 文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18463251/

相关文章:

php - 发布和解析从 JQuery 发送到 PHP 的数据

javascript - 有没有办法在 SVG 图像中的元素上注册 onclick 事件处理程序?

jquery - 当 TBody tr 为空时移除 TFoot

c# - SCRIPT5009 : 'JSON' is undefined in IE 10 The value of the property '$' is null or undefined, 不是函数对象

html - 如何将图像放置在框中,使其正好适合宽度或高度,以较小者为准?

javascript - XAMPP 不会更新 Web 源文件,直到它们在 Chrome 上提交给 Git

php - 过滤 JavaScript 输出的 HTML

javascript - CSS 或 jQuery 问题 : Website not behaving correctly

javascript - 静态网站中的表格分页问题

javascript - 如何克隆 div 低音选择选项