如果之前有人问我,我会事先道歉。所以我在标题中提到的情况是:
我正在将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文件时,我可以用按钮打开一个新窗口。单击时显示“您单击了一个新按钮” 但警报“这是工作!”,是行不通的。
希望这能使情况变得清晰。我很抱歉从一开始就不清楚。
答案 0 :(得分:3)
因为jQuery中没有方法open()
,所以
open()
仅限window
方法。
您可以通过将新窗口传递给变量来引用它:
var win = window.open(url[,options])