4

このコードでは、ユーザーが黒い四角をつかんで内側の円の周りを回転できるようにしようとしています。

http://jsfiddle.net/4CL9H/1/

これを行おうとすると、Firefoxでカーソルが約50%スタックし、もう一度クリックしてイベントハンドル$(document).off('mousemove');を呼び出さない限り、が実行されないことに気付くでしょう。mouseup

これはIE、クローム、サファリ(黒い四角をすばやくクリックするとクラッシュする)では問題なく動作するようですが、Firefoxでは問題が発生します。

とにかく、カーソルがFirefoxで動かなくなることがないように、このコードを改善できますか?

カーソルが動かなくなるのに問題がある場合は、ブラックボックスの下隅をクリックして(動かさずに)押し続けてから、カーソルを左から右にすばやく動かしてみてください。

4

1 に答える 1

3

mousedownセクションにevent.preventDefaultを追加します。

$('#container').on('mousedown', '#marker', function(event){
    event.preventDefault();
    $(document).on('mousemove', function(event){
        rotateAroundCircle($('#innerCircle').parent(), event.pageX,event.pageY, $('#marker'));
    });
});

それに応じてフィドルを修正し、コーナーテストを行いました。正常に動作しているようです。新しいフィドル

于 2012-04-15T01:25:35.400 に答える