1

を使ってキャンバスにオブジェクトを描くことに取り組んできました。マウスクリックでこれらのオブジェクトを取得したい。

以前は、target次のようにコールバック関数からオブジェクトを取得していました。

VectorEditor.prototype.onMouseDown = function (x, y, target /*<--here*/, elem) {

divただし、このキャンバスに他のオーバーレイを実装する必要がありました。このため、上記の target方法は機能しなくなりました。

ここで、何らかのデータ構造に描画されたオブジェクトの ID を保存し、それぞれのオブジェクト (Raphael を使用してキャンバスに描画されたもの) をクリックしたときにハンドルを取得する必要があります。

私は何かを試しました

elem.data("drawnID", shape.id); /*elem was the div (canvas) on which click was done*/

キャンバスに複数のオブジェクトを描画すると、これは上書きされます。明らかに、これを行うには別のメカニズムが必要です。ジャグ配列などを使用している可能性があります。その場合、その場でクリックされた要素のIDがないため、キャンバス上でクリックされたオブジェクトを保持するために配列を検索するにはどうすればよいですか?

4

0 に答える 0