4

Internet Explorer 10 で上書きしようとしていますControlPが、その方法がわかりません。Chrome (少なくとも私の Mac) で動作する非常に単純なコードでFiddleをモックアップしました。ただし、これを IE 10 で実行して使用ControlPすると、印刷ダイアログ ボックスが表示されます。

これが私の簡単なコードです:

$('.test').on('keydown', function(e){
    if (e.metaKey || e.ctrlKey){
        $('body').append('ctrl p pressed'); 
        e.preventDefault(); 
        return false; 
    }        
});​

ここで何が起こっているか知っている人はいますか?

4

1 に答える 1

4

デフォルトの動作を防ぐには

例えば。(Ctrl+O および Ctrl+P のデフォルトの動作を防止する)

/*jslint browser: true */
(function scriptInitScript() {
    "use strict";

    document.attachEvent("onkeydown", function handleKeyDown(event) {
        if (event.ctrlKey) {
            switch (event.keyCode) {
            case 79: // o
            case 80: // p
                event.keyCode = 0;
                return false;
            }
        }
    });

}());

JSFiddle

ご注意ください。jQuery 1.9 はaddEventListener、利用可能な場合に使用します。 github で参照してください

于 2013-03-08T20:36:28.127 に答える