web-dev-qa-db-ja.com

getPreventDefault()の使用は非推奨です。代わりにdefaultPreventedを使用してください

Firefoxの読み込みページに領収書ページを印刷したい

Firefoxは次のエラーを表示します。

getPreventDefault()の使用は非推奨です。代わりにdefaultPreventedを使用してください。エラーソース行:

src.getPreventDefault && src.getPreventDefault() ) ? returnTrue : returnFalse;

NS_ERROR_NOT_AVAILABLE:コンポーネントがエラーコードを返しました:0x80040111(NS_ERROR_NOT_AVAILABLE)[nsIDOMWindow.print]エラーソース行:


print();

コード:

$(document).ready(function() {
    print_doc();
    $("#Submit").click(function() {
        $("#goBack").hide();
        $("#printRow").hide();
        print();
        $("#goBack").show();
        $("#printRow").show();
    });
});

function print_doc() {
    $("#goBack").hide();
    $("#printRow").hide();
    print();
    $("#goBack").show();
    $("#printRow").show();
}

「goBack」および「printRow」idを表示する前に領収書を印刷したいが、機能しない

20
Mian Anjum

media type printで新しいcssを作成できます

<style media="print">
#goBack,#printRow {
   display:none;
}
</style>

このコードを使用しました

print:

印刷ドキュメントを対象としています(印刷プレビューモードでも表示されるドキュメントに適用されます)。

CSSメディアタイプ

4
Shakti Patel

FirefoxjQuery version from 1.6.4より新しいバージョンに。

これはFirefoxのバグとしてFF11に登録され、その結果パッチが適用されました。

バグ#707677:getPreventDefault();非推奨

結局のところ、エラーメッセージは、コードとはまったく関係のないソースコードの行を指します。

9
MackieeE

最新のFFおよびjQueryでもこの警告が表示されます。心配する必要はありません。問題が発生する前にアップストリームで修正されます。

コードに関しては、これを試してください:

$(document).ready(function() {
    $("#Submit").click(function() {
        var btns = $('#goBack, #printRow');
        btns.hide(function () {
            window.print();
            btns.show();
        });
    });
});

.hide()は非同期です。つまり、ブラウザが実行する前に次のコード行が実行される可能性があります。したがって、要素が非表示になる前に印刷している可能性があります。 .hide()のコールバック内に印刷を貼り付けることにより、印刷時に非表示になることが確実になります。

ただし、別のポスターで述べたように、CSSメディアタイプはおそらくこれを行うためのより良い方法です。

@media print {
  #goBack, #printRow {
     display: none;
  }
}
4
Matt

最新バージョンのjsを置き換えて解決し、jqueryサイトにアクセスし、必要に応じて最新のjqueryに置き換えます。

0
Bikram Shrestha