Javascript 生成数字并将其写入剪贴板
我想让用户输入一个最小值和一个最大值,然后我尝试从最小值到最大值生成数字,并将结果保存到剪贴板中 然而,我总是得到Javascript 生成数字并将其写入剪贴板,javascript,Javascript,我想让用户输入一个最小值和一个最大值,然后我尝试从最小值到最大值生成数字,并将结果保存到剪贴板中 然而,我总是得到未捕获的引用错误:generateNumbers没有定义,并且无法解释原因 window.onLoad=function() { 函数generateNumbers() { var min=document.getElementById(“min”).value; var max=document.getElementById(“max”).value; var结果=”; 对于(变
未捕获的引用错误:generateNumbers没有定义,并且无法解释原因
window.onLoad=function()
{
函数generateNumbers()
{
var min=document.getElementById(“min”).value;
var max=document.getElementById(“max”).value;
var结果=”;
对于(变量i=min;i
MIN:
最大值:
发送
问题是,generateNumbers
函数不在全局范围内。通过向按钮添加事件侦听器而不是使用onClick属性,可以解决此问题:
document.getElementById(“mybutton”).addEventListener(“单击”,生成枚举器);
函数generateNumbers()
{
var min=document.getElementById(“min”).value;
var max=document.getElementById(“max”).value;
var结果=”;
对于(var i=min;i您需要删除window.onload部分,只需在按钮的onclick处理程序中调用该函数
这里有一种方法:
<meta charset="UTF-8">
<script>
function generateNumbers() {
var min = parseInt(document.getElementById("min").value);
var max = parseInt(document.getElementById("max").value);
var result = "";
for (var i = min; i <= max; i++) {
result += i;
if (i < max) {
result += ";";
}
}
console.log(result);
copyToClipboard(result);
}
function copyToClipboard(text) {
window.prompt("Copy to clipboard: Ctrl+C, Enter", text);
}
</script>
<input id="min" type="text" value="1">
<input id="max" type="text" value="10">
<button onclick="generateNumbers()">Test</button>
函数generateNumbers(){
var min=parseInt(document.getElementById(“min”).value);
var max=parseInt(document.getElementById(“max”).value);
var结果=”;
对于(var i=min;我只是在JavaScript中使用了addEventListener
,这比摆弄属性和作用域要容易。在window.onload事件中定义函数毫无意义,它会导致您遇到的问题。@ManoDestragenerateNumbers
不在全局作用域中。是的,他需要从中删除它,当然。这确实毫无意义。window.onload处理程序完全是多余和不必要的。删除了我以前的注释,因为现在问题已经编辑好了。谢谢大家,我可以通过添加事件侦听器来解决它!:)简化为文档。getElementById(“mybutton”)。addEventListener(“单击”,generateNumbers);