2009-06-03 4 views
0

アクセシビリティの観点からはこれが最善のことではないことがわかっていますが、IE7でCTRL +を使用してページをズームすることを禁止する必要があります。IE7(jQuery/JS)でページズームを無効にする

私はそれが他のブラウザのために、以下の方法を働いて得たが、IE7は「falseを返す」無視するようだ:

$(window).keydown(function (e) { 

    alert('key is down'); // this fires   
    return false;   // but this has no effect in IE7! 
}); 

答えて

1

代わりに文書化するためにはKeyDown添付してください:

$(document).keydown(function (e) { 

    alert('key is down'); 
    return false; 
}); 
+0

ええ、私はそれを試みましたが、falseは無視されています。 –

2

はこれがありますより正確で正しい方法:

$(document).ready(function() { 
    var ctrl = false; 
    $(document).keydown(function(e){  
     // disable ctrl + +/- 
     if(ctrl && (e.keyCode == 107 || e.keyCode == 109)) { 
      alert('Zoom is disabled!'); 
      return false; 
     } 
     if(e.keyCode == 17) { 
      ctrl = true; 

      // disable ctrl + scroll 
      $(document).bind('scroll', function() { 
       if(ctrl) { 
        alert('Zoom is disabled!'); 
        return false; 
       }        
      }); 
     } 
    }) 

    $(document).keyup(function(e) { 
     if(e.keyCode == 17) { 
      ctrl = false; 
      $(document).unbind('scroll'); 
     }     
    });      
}); 
+0

私はそれを試しました - しかし2つの2つのこと。 IE7では、CTRLと "+"と " - "キーを押してズームを有効にします。あなたのコードのキーコード値を(キーの代わりに)+キーと - キーに変更した後でも、それはまだ動作していないようです。警告は発生しますが、falseを返すと無視され、ブラウザはまだページをズームします。 –

+0

あなたは正しいです、ズームはCTRL + +/- :)投稿が更新されました... – sasa

0

単純な答えです。 IEのために、あなたは私がATMにテストするIE7を持っていないが、これはそれを

$(window).keydown(function (e) { 
    alert('key is down'); // this fires    
    e.preventDefault();  // This is a standard jQuery way of 
          // preventing the default action 
    return false;   // Therefore you shouldn't need this. 
}); 
+1

誰もこれを試しましたか?どんな例? – Vicro

0

が必要あなたのページ。

1

エンドユーザーのブラウザが既にお出かけになる前に、ズームが設定されている場合、これは無意味であるを行う必要がありEvent.stop(e);代わりのreturn false;

関連する問題