Javascript 无法通过id:fabric js删除画布并更改src
我想按画布的id删除画布我尝试为其分配id,但无法调用删除方法: 见链接: html代码: 除掉它 js代码Javascript 无法通过id:fabric js删除画布并更改src,javascript,jquery,canvas,fabricjs,Javascript,Jquery,Canvas,Fabricjs,我想按画布的id删除画布我尝试为其分配id,但无法调用删除方法: 见链接: html代码: 除掉它 js代码 var canvas = new fabric.Canvas('c'); function getObjectById(id) { canvas.forEachObject(function(o) { if (o.id === id) { return o;
var canvas = new fabric.Canvas('c');
function getObjectById(id) {
canvas.forEachObject(function(o) {
if (o.id === id) {
return o;
}
});
return null;
}
var img = "http://edudemic.com/wp-content/uploads/2012/09/jail_photo.jpg";
fabric.Image.fromURL(img, function (source) {
img = source.set({
left: 0,
top: 0,
angle: 0,
id:'moveit'
});
canvas.add(img);
canvas.renderAll();
});
document.getElementById('download').onclick = function() {
alert('hii');
var removeit = getObjectById('moveit');
canvas.remove(removeit);
};
document.getElementById('changeimage').onclick = function() {
alert('hii');
getObjectById('moveit').src="http://www.meandmylaptop.com/uploads/5/8/1/2/5812329/7801574.png";
canvas.renderAll();
};
document.getElementById('changeimage').onclick = function() {
alert('hii');
getObjectById('moveit').src="http://www.meandmylaptop.com/uploads/5/8/1/2/5812329/7801574.png";
canvas.renderAll();
};
改变
alert('hii');
var removeit = getObjectById('moveit');
canvas.remove(removeit);
到
var removeit=getObjectById('moveit')代码>为空。因此,不知何故,您正在设置id,但没有应用id;是的,但你正在添加新图像,而不是旧图像src@mour使用setAttribute进行更改
// alert('hii');
canvas.remove(img);
// var removeit = getObjectById('moveit');
// canvas.remove(removeit);