$(document).open()在这些情况下无效

时间:2017-06-10 14:14:54

标签: javascript jquery

如果之前有人问我,我会事先道歉。所以我在标题中提到的情况是:

我正在将html写入一个新的window.document.open()对象。我写的html也包含在头部。 这是我无法运行的脚本,

<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>

有趣的是,每个其他jquery代码都有效。例如在我的html中,我有一个id ='但'的按钮,这个脚本可以工作

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

那么为什么$(document).ready()不起作用?这是因为window.document.open()不算作jquery的文档吗?

提前致谢。

编辑:我认为我的问题不清楚。我非常抱歉。情况如下: 我有一个javascript文件基本上有这个:

    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);

文件file.js具有以下内容:

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

现在当我运行第一个JS文件时,我可以用按钮打开一个新窗口。单击时显示“您单击了一个新按钮” 但警报“这是工作!”,是行不通的。

希望这能使情况变得清晰。我很抱歉从一开始就不清楚。

1 个答案:

答案 0 :(得分:3)

因为jQuery中没有方法open(),所以

open()仅限window方法。

您可以通过将新窗口传递给变量来引用它:

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