2017-11-09 170 views
1
$(document).bind("keyup keydown", function (e) { 
     if (e.ctrlKey && (e.key == "p" || e.charCode == 16 || e.charCode == 112 || e.keyCode == 80)) { 
      e.cancelBubble = true; 
      e.preventDefault(); 

return Print(); 
     } 
    }); 

私はchrome、Mozillaでは動作しますが、Internet Explorerでは動作しません。私のPrint()が呼び出している後、IEの印刷ダイアログが出てきます。Ctrl + Pを押した後にJavaScriptで印刷ポップアップを無効にする方法

お勧めします。

+0

おそらく 'e.ctrlKey && e.key == 'p''ですか? – WaldemarIce

+0

私のprint()が呼び出された後、印刷ダイアログボックスが表示される問題は、印刷ダイアログを表示したくないということです。その唯一のIEで起こっている –

答えて

0

Internet ExplorerがでpreventDefaultを(サポートされていないとして)、あなたの最高の最高は、以下のようなものです:ブラウザがでpreventDefault(クロム、Firefoxの、など)をサポートしている場合

if (e.preventDefault) //checks for the presence of the preventDefault function 
{ 
    e.preventDefault() // calls the function 
} 
else 
    if (/keypress logic goes here/) { 
     window.event.returnValue = null; 
     event.keyCode=0; // if the keyCode is 0, IE will not execute the command. 
    } 

だから、単純にそれを呼び出します。それがなければ(IE)、元の関数を実行しない値にkeyCodeを設定します(印刷ダイアログが表示されないようにします)。

+0

それは動作していない印刷ダイアログはその後に来ています。 Ctr + pキーを押した後に印刷ダイアログを表示させないようにしてください。 –

関連する問題