javascript - kinetic js中的可编辑文本选项

标签 javascript text kineticjs

我想添加 Textbox 或可编辑元素,让用户可以选择编辑文本。

这是我当前的代码:

var text = new Kinetic.Text({
        text: "Sample Text", ---> i want to edit this text 
        x: 50,
        y: 10,
        fill: "transparent",
        fontSize: 10,
        fontFamily: "Helvetica Neue",
        textFill: "#000",
        align: "center",
        verticalAlign: "middle",
        name:'TEXT'
    });

最佳答案

目前似乎没有任何方法可以使用 Kinetic JS 创建可编辑文本(请参阅 stackoverflow 上的几个主题),有些人建议使用 Canvas 旁边的输入字段来编辑文本,但我的解决方案将是以下内容:

  • 用您的代码创建一个文本
  • 在文本上单击 [text.on("click", function...],在鼠标光标处创建一个输入字段

嗯,这就是计划。也许在输入字段中使用“保存”按钮文本更容易,因此您确切地知道何时关闭它以及何时将输入字段数据存储到 Kinetic 文本中。如果您不想编辑它,您还需要一个“关闭”功能。

一个非常简单的解决方案也是一个简单的 JavaScript 提示:

var xy = prompt("给我你的文本");

所以,这样的事情将是最好的解决方案恕我直言:

myText.on('click', function(evt) {
    this.setText(prompt('New Text:'));
    layer.draw(); //redraw the layer containing the textfield
});

关于javascript - kinetic js中的可编辑文本选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13271436/

相关文章:

kineticjs - 如何从组中完全删除一个矩形?

Javascript - 当js文件与html分开时从服务器获取responseText?

JavaScript - 将空格分隔的文本文件读入数组并用作查找表

c++ - 在文本文件中搜索整数

matlab - 有没有办法屏蔽 MATLAB 编辑框中的文本?

javascript - KineticJS - 创建带有渐变描边的样条线

javascript - 如何在纯 JavaScript 的帮助下对表格进行排序和重新生成

javascript - 从 span 元素中移除焦点

javascript - React-Leaflet:将 map 控制组件放置在 map 之外?