저는 캔버스가 있고 jCanva (http://calebevans.me/projects/jcanvas/docs.php?p=layers)를 사용하여 이벤트가있는 원을 만듭니다.동적 텍스트 및 jCanvas 링크
각 원에는 텍스트 (mouseover 이벤트의 경우) 및 id (click 이벤트의 경우)가 있어야합니다. 문제는 이벤트가 동적이며 "i"가 항상 마지막 i (data.length)이므로 모든 서클에서 동일한 값을 얻습니다. 어떻게 해결할 수 있습니까?
for (i = 0; i < data.length; i++) {
var id = data[i][0];
var text = data[i][2];
$("#mapCanvas").drawArc({
layer: true,
fillStyle: "yellow",
strokeStyle: "#000",
strokeWidth: 1,
x: Math.random() * c.clientWidth,
y: Math.random() * c.clientHeight,
radius: 6,
click: function (layer) {
window.open("Edit/" + id);
},
mouseover: function (layer) {
$("canvas")
.addLayer({
method: "drawRect",
name: "BackgroundLabel",
group: "ItemLabel",
fillStyle: "#FFFFD4",
x: layer.x + 10,
y: layer.y - 15,
width: 100,
height: 20
})
.drawLayers();
$("#mapCanvas").drawText({
layer: true,
fillStyle: "white",
strokeWidth: 0,
x: layer.x + 10,
y: layer.y - 10,
font: "14pt Arial, Verdana, sans-serif",
text: text
});
}
});
확인 당신은 당신이 이벤트 핸들러에 인수로 얻을 레이어 객체에 아이디/이름을 밀어하거나 그런 식으로 쓸 수있는 경우 : ' 클릭 ID) { \t \t \t window.open ("편집 /"+ ID) \t \t} })(); ' 각 도면마다 다른 범위를 만들려면 – Bnaya