3
是否可以引用使用jQuery在HTML5 canvas元素上繪製的圖形?下面是我寫EaselJS功能,通過含有載體的數組對象迭代座標:使用jQuery將畫布圖形引用爲DOM元素
function newShape(obj,shape,coords){
obj.graphics.beginFill('green');
obj.alpha = 0.05;
for (var i=0; i<coords[shape].length; i+=2) {
var arr = coords[shape].slice(i,i+2);
obj.graphics.lineTo(arr[0],arr[1]);
}
obj.graphics.closePath();
obj.graphics.endFill();
stage.addChild(obj);
}
的COORDS物體看起來是這樣的配點的100S:
var coords = {};
coords['0'] = [214,266,214,291,194,291];
coords['1'] = [243,1,254,2,278,9,290,14];
coords['2'] = [109,112,116,114,129,117];
和舞臺:
canvas = document.getElementById("canvas");
stage = new createjs.Stage(canvas);
shape1 = new createjs.Shape();
shape2 = new createjs.Shape();
shape3 = new createjs.Shape();
newShape(shape1,'shape1',coords);
newShape(shape2,'shape2',coords);
newShape(shape3,'shape3',coords);
我可以添加監聽器到點擊/觸摸事件的渲染形狀,但是我希望能夠引用每個圖形作爲一個DOM元素用於像Bo這樣的插件otstrap Popover和niceScroll例如.. $(shape1).popover('show');
。我一直在積極研究一個沒有成功的解決方案,任何幫助將不勝感激!
但它們不是DOM元素,更不用說DOM對象...... – Shmiddty
你也許可以添加僞屬性與'Object.defineProperty'與相關的DOM屬性的名稱,將改變任何內部屬性來模擬將發生在DOM節點的效果。但是,並不能保證這些插件甚至jquery本身沒有進行類型檢查,以確保它們正在使用DOM節點。 – Shmiddty
我最近來的是參考DOM節點的畫布形狀的屬性。 http://jsfiddle.net/ZxCJU/1/ – Shmiddty