2014-10-17 37 views
0

我想通过自己的ID删除帆布我试着给它们分配ID可以调用删除方法,但它不工作:无法删除帆布和变化SRC通过其ID:面料JS

见链接:http://jsfiddle.net/mishragaurav31/kcyKJ/

的html代码:

删除itchange它

js代码

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(); 
     }; 
+0

'变种removeit = getObjectById( 'moveit');'为空。所以不知何故,你设置的ID,但ID没有被应用。 – artm 2014-10-17 09:55:07

+0

如何设置id? – mydeve 2014-10-17 10:13:56

回答

0

Demo

变化

alert('hii'); 
    var removeit = getObjectById('moveit'); 
    canvas.remove(removeit); 

//  alert('hii'); 
canvas.remove(img); 
// var removeit = getObjectById('moveit'); 
//  canvas.remove(removeit); 
+0

如果我想改变src:img.setAttribute(“src”,image); – mydeve 2014-10-17 10:04:22

+0

@mour [** Demo **](http://jsfiddle.net/ianwong/qdwv5mh6/2/)添加一个新的。 – 2014-10-17 10:12:58

+0

是的,但你是添加新的形象不chnage旧的src – mydeve 2014-10-17 10:17:48