wake-up-neo.com

Die Verwendung von getPreventDefault () ist veraltet. Verwenden Sie stattdessen defaultPrevented

Ich möchte die Belegseite auf der Ladeseite in Firefox drucken

Firefox zeigt folgenden Fehler ..

Die Verwendung von getPreventDefault() ist veraltet. Verwenden Sie stattdessen defaultPrevented . Fehlerquellenzeile:

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

NS_ERROR_NOT_AVAILABLE: Komponente hat Fehlercode zurückgegeben: 0x80040111 (NS_ERROR_NOT_AVAILABLE) [nsIDOMWindow.print] Fehlerquellenzeile:


print();

code:

$(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();
}

Ich möchte meine Quittung drucken, bevor "goBack" und die "printRow" -ID angezeigt werden, aber sie funktionieren nicht

20
Mian Anjum

sie können mit media type print neue CSS erstellen.

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

verwendet diesen Code

drucken : 

Für gedruckte Dokumente gedacht (gilt auch für Dokumente, die im Druckvorschau-Modus angezeigt werden).

CSS-Medientyp

4
Shakti Patel

Aktualisieren Sie beide Versionen von Firefox & jQuery von Version 1.6.4 auf eine neuere Version.

Dies wurde als Fehler in Firefox in FF11 gemeldet und als Ergebnis gepatcht:

Fehler # 707677: getPreventDefault (); veraltet

Immerhin beziehen sich die Fehlermeldungen auf Quellcodezeilen, die in keinem Zusammenhang mit Ihrem Code stehen.

9
MackieeE

Ich bekomme diese Warnung auch in der neuesten Version von FF und jQuery. Machen Sie sich keine Sorgen, es wird Upstream behoben, bevor es Probleme verursacht.

Versuchen Sie Folgendes für Ihren Code:

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

.hide () ist asynchron, was bedeutet, dass die nächste Codezeile möglicherweise ausgeführt wird, bevor der Browser die Möglichkeit hatte, sie auszuführen. Sie können also drucken, bevor die Elemente ausgeblendet sind. Wenn Sie den Druck in den Rückruf von .hide () stecken, sind Sie sicher, dass er beim Drucken verborgen ist.

Wie bereits in einem anderen Poster erwähnt, sind CSS-Medientypen wahrscheinlich der bessere Weg, dies zu tun:

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

es wurde behoben, indem die neueste Version von Js ersetzt wurde. Besuchen Sie die Jquery-Website, und ersetzen Sie bei Bedarf auch die JQuery-Version .map js

0
Bikram Shrestha