Javascript 使用html5中的canvas Dynamic绘制许多文本并编辑它们

Javascript 使用html5中的canvas Dynamic绘制许多文本并编辑它们,javascript,jquery,canvas,kineticjs,Javascript,Jquery,Canvas,Kineticjs,当我点击卡片上的文字时,我希望能够像以下网站一样编辑文字: 这是我的密码: $(文档).ready(函数(){ var Total_layers=0; var Text={}; /*为绘制图像设置舞台*/ var阶段=新的动力学阶段({ 容器:“容器”, 宽度:600, 身高:400 }); //var层={}; /*创建一个用于将文本图像放置在其上的图层对象,并将其放置在舞台上*/ var layer=新的动能层(); //层[总层数] /*文本属性*/ var New_Text=“公司名称

当我点击卡片上的文字时,我希望能够像以下网站一样编辑文字:

这是我的密码:

$(文档).ready(函数(){
var Total_layers=0;
var Text={};
/*为绘制图像设置舞台*/
var阶段=新的动力学阶段({
容器:“容器”,
宽度:600,
身高:400
});
//var层={};
/*创建一个用于将文本图像放置在其上的图层对象,并将其放置在舞台上*/
var layer=新的动能层();
//层[总层数]
/*文本属性*/
var New_Text=“公司名称”;
var Text_Font=“Arial”;
var Text_Color=“黑色”;
var Text_Size=“30”;
var Text_Pos_X=200;
变量文本位置y=100;
var Selected_Text=new dynamic.Text({});
无功电流_层=0;
//var text_selected=1;
/*为他们添加事件*/
//var formElement=document.getElementById(“新文本”);
//formElement.addEventListener('change',Text_Changed,false);
var formElement=document.getElementById(“selectFontSize”);
formElement.addEventListener('change',Text\u Size\u Changed,false);
/*当所考虑的文本大小改变时,将执行此功能*/
功能文本大小更改(e){
var目标=e.target;
文本大小=target.value;
Text_Pos_X=200;//Text[总层].X;
Text\u Pos\u Y=100;//Text[总层].Y;
//DeleteLayer(总层);
图层。删除(选定的_文本);
绘制文字(总图层);
}
/*函数交换动态文本对象并将选定的文本对象移到顶部*/
功能交换\u层(选定的\u文本){
var temp=新的动力学文本({});

对于(var i=1;i您不能直接在画布上编辑文本,但您可以使用事件对其进行更改。因此,您需要的是在画布旁边创建的输入表单,您可以使用javascript从表单中读取

 <input type=text id=changeText/>

你不能直接在画布上编辑文本,但你能做的是用事件来改变它。所以你需要的是一个在画布旁边创建的输入表单,你可以使用javascript从表单中读取

 <input type=text id=changeText/>

imho的最佳解决方案是使用简单的JavaScript提示符:

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

在这个帖子中看到我的答案:

最好的解决方案是使用一个简单的JavaScript提示符:

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

在这个线程中看到我的答案:

在JSFIDLE中放一些代码,我会看一看。在JSFIDLE中放一些代码,我会看一看。