2

15x15 のテーブルを含む HTML Web ページがあり、div でマウスの左ボタンを押したままにすると、マウスに追従する小さな正方形の div もあります。

onmouseover イベントを 15x15 テーブルに割り当てて、マウスがセルの上に置かれたときに、"gridPlacement" という変数に、マウスが置かれたテーブル セルの一意の ID の値が設定されるようにしました。

onmouseover イベントは正常に機能しているようで、セルにカーソルを合わせるとすぐに、変数「gridPlacement」がセルの ID に設定されます。

しかし、onmousedown および onmousemove イベントがトリガーされた場合 (マウスが前述の div でマウスの左ボタンを押したままにした場合)、セルの上にカーソルを置いたときに、変数「gridPlacement」が設定されていない場合があり、場合によっては設定する必要があります。マウスをセルの上に数回移動すると、機能します。

onmousedown および onmousemove イベントが、15x15 テーブルの onhover イベントに影響を与えているようです。

なぜこれが起こるのか、この問題を回避する方法を知っている人はいますか?

あなたが私を理解してくれることを願っています。私は自分の問題をできる限り説明しようとしました。

問題が解決しました!

ユーザーがドラッグしている要素のオフセットを変更するとうまくいきました。助けてくれてありがとう! :)

4

2 に答える 2

2

zozoは正しいと思います。同様の問題が発生しました。使用した回避策は、マウスに続く要素のオフセットを変更して、マウスの真下に表示されないようにすることです(おそらく、横/上/下などに数ピクセル)。

お役に立てれば。

于 2011-02-19T20:51:02.117 に答える
2

あなたが尋ねた問題は、ボタンを押したときにdivがマウスの下にあるため、実際にセルをホバーしないために発生します(少なくともそれはあなたの説明から得られたものです)。回避策は、特定のセルを終了するときに目的の変数を設定することです(onmouseout)が、これはあなたが終わった魔女セルを知りたいと思うので役に立たないので、マウスの位置を取得して比較できると思いますセルの位置に... より良い答えが得られない限り... これは一種の... それほど簡単ではないからです.

于 2011-02-19T20:21:18.630 に答える