0

要素を作成し、その要素をすぐにカーソルにバインドしたいと考えています。要素を移動するツールはありますが、要素をクリックせずにカーソルにバインドする方法がわかりません。mousedown() イベントをシミュレートすることを考えましたが、その方法がわかりません。

コンテキストとして、私の最終的な目標は、ユーザー定義のエンドポイントを使用してラインを作成することです。ユーザーがポイントをクリックすると、2 つの小さな黒い円が作成されます。1 つは最初のクリックの基準点として、もう 1 つは 2 点を結ぶパスでカーソルにアタッチされます。ユーザーが別の点をクリックすると、両方の小さな黒い円が消え、線だけが残ります。

何か案は?

4

1 に答える 1

0

正しい方向に向けてくれた@Joan Charmantに感謝します。これまでの私の解決策は次のとおりです。$('#paper') はキャンバスで、tempPoint はカーソルの動きにバインドするために作成した円です。

$("#paper").mousemove(function (event)
                {
                    if(firstLinePointSelected && tempPoint!=null)
                    {
                        if (!event) var event = window.event;
                        var x=0, y=0;
                        if (event.pageX || event.pageY)     
                        {
                            x = event.pageX;
                            y = event.pageY;
                        }
                        else if (event.clientX || event.clientY)    
                        {                           
                            x = event.clientX + document.body.scrollLeft
                                + document.documentElement.scrollLeft;
                            y = event.clientY + document.body.scrollTop
                                + document.documentElement.scrollTop;
                        }

                        // subtract paper coords on page
                        tempPoint.attr("cx", x - $('#paper').offset().left);
                        tempPoint.attr("cy", y - $('#paper').offset().top);
                    }
                });
于 2013-08-08T17:01:50.370 に答える