0

jquery を使用して Firefox および IE 7 でマウスの中クリック スクロールを無効にする方法:

以下の機能は、これらのブラウザーでは機能しません。

$('body').mousedown(function(e)
{
  if((e.button === 1) || (e.button === 2)) 
  {
  e.preventDefault();     
  e.preventScrolling();       
  return false;   
   }
 });
4

1 に答える 1

0

(からコピーされた回答:javascriptで中クリックスクロールを無効にする

$("body").wrap(
  "<a href='javascript:void(0);'
  onclick='return false;'></a>"
);

( jquery wrapを介して)リンクでラップすることにより、ブラウザはそれをリンクと見なし、マウスをドラッグしても中クリックでスクロールしません。このセットアップと私の状況では、いくつかの (マイナーな) 落とし穴があります。

中クリックすると Firefox は新しいタブを開きますが、ドラッグしない場合のみです。中クリック、ドラッグ、またはそうでない場合、Opera は新しいタブを開きます。そのため、 href='javascript:void(0);' を使用しました href='#' の代わりに -- クライアントのブラウザがページ全体を読み込まず、奇妙な URL を持つ空白のページだけを読み込むようにします。

しかし、このソリューションは Chrome と Safari で魅力的に機能します。IE8 では問題なく動作しますが、左クリック アンド ドラッグすると、リンクをどこかにドラッグしようとしていると見なされるため、ポインタが「できない」記号に変わります。古いバージョンの IE ではテストされていません。

于 2013-09-12T06:21:37.813 に答える