マウスの中クリックでブラウザがスクロールを開始し、小さなスクロール「コンパス」が表示されないようにする方法を探しています。
私は見たことがあります javascriptでミドルクリックスクロールを無効にする しかし、解決策は私が望むよりも少しハッキーであり、私が実際に使用できるもののようには見えません。
もっと明確な「これがあなたのやり方です」または「あなたはそれができない、息子」を探しています。
もちろん、私はハックや回避策を受け入れています。
S.O.質問はコードを使用すると見栄えが良くなります。これは、右クリックまたは中クリック時にツールチップを閉じるために使用しているものです。
msg.mousedown(function(e) {
if (e.which == 2) { //middle mouse click
msg.hide();
e.preventScrolling(); //if only this worked...
}
else if (e.which == 3) { //right mouse click
msg.hide();
}
}).bind('contextmenu', function(e) {
e.preventDefault();
}).click(function(e) {
e.stopPropagation();
});
編集:jQuery、JavaScript、何でも、今すぐすべてうまくプレイしましょう:)
編集2:
私は、ページのスクロールを停止するよりも、小さなスクロール「コンパス」を防ぐことに興味があります。私の最初の説明からは、それはあまり明確ではなかったと思います。
使用する:
$('body').mousedown(function(e){if(e.button==1)return false});
これはChromeで機能します: http://jsfiddle.net/PKpBN/3/
このためだけにjQueryを含める必要はありません。
JQueryを使用している場合、ここにはすでにいくつかの優れた回答があります。そうでない場合は、VanillaJSを使用できます。
document.body.onmousedown = function(e) { if (e.button === 1) return false; }
e.preventScrolling();
の代わりにreturn false;
を使用してみてください