0

.....

var ctx = canvas.getContext("2d")

ctx.clearRect(pt.x-w/2, pt.y-7, w,14)

ctx.font = "bold 11px Arial"

ctx.textAlign = "center"

ctx.fillStyle = "#888888"

ctx.fillText(label||"", pt.x, pt.y+4)

.....

クリックしてURLを開く、ホバーして何かをするなど、このテキストに属性を追加するにはどうすればよいですか

4

2 に答える 2

2

キャンバスを構成するパーツは HTML 要素ではありません。それらにイベントを添付することはできません。実際、1 つのコンポーネントの個別のメモリはありません。キャンバスにコミットするとすぐに、他のすべてのものと 1 つの画像としてマージされます。

回避策は、物事がどこにあるかの座標を自分で覚えておいて、クリックがキャンバスに登録されたときに、それが何を意味するかを手動で解釈することです。

これは自明ではなく、この種のことを自動化する多くのライブラリがあります。KineticJSを見てください。

于 2012-07-30T13:40:04.287 に答える
0

ウトカノスが言ったことに加えて、<a href=""></a>css を使用して html リンク () 要素をオーバーレイすることもできます。それは配置とスタイリングです。

于 2012-07-30T21:30:16.083 に答える