0

私は問題があります。

コードは Firefox では問題なく動作しますが、Chrome ではうまくいきません。

コードはかなり基本的です。背景のあるdivがあります。そのdivでjqueryがマウスダウンすると、間隔を置いて実行する関数を設定しました。マウスアップすると、間隔がクリアされます。シンプルですね。

それで問題はこれです。ユーザーが Chrome で右クリックしてコンテキスト メニューを表示するとします。または、div をドラッグします。mouseup イベントは登録されなくなりました。

何か案は?

マウスボタンのステータスを取得する場所を考えていました。しかし、それはマウスが発砲しなければ不可能のようです。

        function mouseD(e){
            mouseE = e;
            timer = setInterval(scroller, 50);
            $(document).mouseup(function(){
                clearInterval(timer);
            });
            //mouseB = e.button;
            //mouseW = e.which;
            //console.log(e.button + " D " + e.which);
        }
imgbox.mousedown(mouseD);

編集:そのため、そのような行為を禁止することで、コンテキストメニューとドラッグの問題を解決できました。ユーザーはもうそれを行うことができません。ただし、ユーザーが同時に右クリックと左クリックを行うと、マウスアップは登録されません。

4

1 に答える 1

0

この Web サイトをチェックしてください: さまざまなブラウザーでのマウス イベントについて詳しく説明しています。 http://unixpapa.com/js/mouse.html

于 2013-03-27T22:15:37.497 に答える