如果之前有人问过这个问题,我提前道歉。那么我标题中提到的情况是这样的:
我正在将 html 写入新的 window.document.open() 对象中。我正在写的html也包含在head中。 这是我无法运行的脚本,
<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' 的按钮,并且此脚本有效
$('#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 文件时,我可以使用按钮打开一个新窗口。单击时它会显示“您单击了一个新按钮” 但警报“这正在工作!”不起作用。
希望这能让情况变得清晰。我真的很抱歉从一开始就没有说清楚。
最佳答案
因为 jQuery 在其 api 中没有方法 open()
。
open()
只是一个window
方法。
您可以通过将新窗口传递给变量来引用它:
var win = window.open(url[,options])
关于javascript - $(document).open() 在这些情况下不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44474320/