我有一个函数openWindow(word),当单击一个按钮时会调用它。此功能打开一个新窗口,打印单词并显示一个名为do的按钮。 openWindow函数一直有效,直到其标签中的onclick应该找到do函数。我的问题是onclick似乎永远不会找到我的功能。我该怎么办?
我的功能:
function do() {
alert("Life is what you make of it");
}
我的openWindow功能:
function openWindow(word) {
myWindow.document.write(word);
myWindow.document.write('<body>');
myWindow.document.write('<input type="button" value="Do" onclick="do()">');
myWindow.document.write('</body>');
}
}
我打开窗口的html代码:
<body>
<input type="button" value="Submit" onclick="openWindow()">
</body>
答案 0 :(得分:1)
do()
。我建议使用这种方法:
myWindow.document.write('<body>');
myWindow.document.write('<input type="button" value="Do" onclick="do()">');
myWindow.document.write('</body>');
// Define "Do" in the context of the new window
// Note: I have changed "do" to "Do" because "do" is a reserved word in JS
myWindow.Do = Do;
这是a working fiddle(确保不阻止弹出窗口)。
答案 1 :(得分:0)
do
函数不是您创建的新窗口的一部分,因此无法找到它。
您需要通过链接的JavaScript文件或内联来包含它。
答案 2 :(得分:0)
您的新窗口没有函数定义,无法在调用“do()”时知道该怎么做。
如果您只想要一个带按钮的提醒:
myWindow.document.write('<input type="button" value="Do" onclick="alert('Life is what you make of it')";
否则,詹姆斯希尔还有很长的路要走。