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