jQuery를 사용하여 HTML5 캔버스 요소에 그린 그래픽을 참조 할 수 있습니까?jQuery로 캔버스 그래픽을 DOM 요소로 참조하기
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];
그리고 단계 :
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);
}
좌표 객체 포인트의 100 단위로 다음과 같은 : 여기 벡터의 배열을 포함하는 객체를 반복 좌표 내가 EaselJS을 위해 쓴 기능입니다
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);
클릭/터치 이벤트의 렌더링 된 모양에 리스너를 추가 할 수 있지만 Bo와 같은 플러그인에서 사용하기 위해 각 그래픽을 DOM 요소로 참조하고 싶습니다. Popover와 niceScroll 예. $(shape1).popover('show');
. 나는 적극적으로 성공을 거두지 못한 해결책을 찾고 있었지만, 어떤 도움을 주시면 감사하겠습니다!
하지만 그들은 DOM 요소 아니에요, 혼자 DOM 당신은 추가 할 수 있습니다 – Shmiddty
... 개체를 내버려 'Object.defineProperty'를 이용하여 가상 속성을 관련 DOM 속성의 이름으로 바꾸면 DOM 노드에서 발생하는 효과를 시뮬레이트하기 위해 내부 속성을 변경합니다. 그러나 이러한 플러그인이나 jquery 자체가 DOM 노드로 작업하고 있는지 확인하기 위해 유형 검사를 수행하지 않는다고 보장 할 수는 없습니다. – Shmiddty
가장 가까운 곳은 캔버스 모양의 속성에 대한 DOM 노드를 참조하는 것입니다. http://jsfiddle.net/ZxCJU/1/ – Shmiddty