2017-06-10 7 views
0

Ich entschuldige mich im Voraus, wenn dies zuvor gefragt wurde. Die Umstände, die ich im Titel erwähnt habe, sind folgende:

Ich schreibe html in ein neues window.document.open() - Objekt. Das HTML, das ich schreibe, beinhaltet auch den Kopf. Dies ist das Skript, das ich nicht in der Lage bin zu laufen,

<script type="text/javascript" src="https://code.jquery.com/jquery-2.2.3.min.js"></script> 
<script> 
    $(document).ready(function(){ 
     alert('This is working!'); 
    }); 
</script> 

Das Interessante daran ist, dass jeder andere jquery Code funktioniert. Zum Beispiel in meinem html habe ich eine Schaltfläche mit id = 'aber' und dieses Skript arbeitet

$('#but').click(function(){ 
    alert('you clicked a button')' 
    }); 

so ist, warum die $ (document) .ready() funktioniert nicht? Ist dies, weil window.document.open() nicht als Dokument für jquery zählt?

Vielen Dank im Voraus.

edit: Ich denke meine Frage ist unklar. Das tut mir schrecklich leid. Hier ist die Situation: Ich habe eine JavaScript-Datei, die im Wesentlichen das hat:

var w=window.open(); 
        var temp=` 
        <!DOCTYPE html> 
        <html lang="en"> 
        <head> 
         <meta charset="UTF-8"> 
         <title> Template for converted files</title> 
         <script type="text/javascript" src="https://code.jquery.com/jquery-2.2.3.min.js"></script> 
    <script type="text/javascript" src="file.js"></script> 
         <script> 
           $(document).ready(function(){ 
       alert('This is working!'); 
      }); 
         </script> 
        </head> 
        <body class="body"> 
        <button id='but'>click me!</button> 
    </body> 
    </html? 
        `; 
        w.document.open(); 
        w.document.write(temp); 

die Datei file.js hat die folgenden:

$('#but').click(function(){ 
    alert('you clicked a button')' 
    }); 

jetzt, als ich die erste JS-Datei ausführen, ich bin in der Lage um ein neues Fenster mit der Schaltfläche zu öffnen. Wenn Sie darauf klicken, heißt es "Sie haben eine neue Schaltfläche angeklickt" Aber die Warnung "Das funktioniert!", funktioniert nicht.

Hoffe das macht die Situation klar. Es tut mir wirklich leid, dass ich von Anfang an nicht klar war.

+0

Ihr Code nicht enthalten document.open. mehr Code benötigt .. –

+0

Erstellen Sie eine Geige Beispiel für Ihr Problem, so dass wir überprüfen und korrigieren können –

+0

Wenn Sie nicht wissen, jquery genaue Liste der Methoden schauen Sie hier: http://api.jquery.com – pheromix

Antwort

3

Weil jQuery keine Methode open() in seiner API hat.

open() ist eine window Methode nur.

Sie in das neue Fenster, indem es auf eine Variable beziehen:

var win = window.open(url[,options]) 
+0

Ich habe zwei separate JS-Dateien. Eine JS-Datei schreibt html in das window.document.open() -Objekt. Dieses HTML hat das Skript, das ich in der Frage erwähnt habe. Also, wie beziehe ich mich auf dieses Fenster in der Situation? – Vamshi

Verwandte Themen