Javascript未捕获引用错误,未定义调用on

时间:2018-05-14 05:49:14

标签: javascript button onclick addeventlistener jsfiddle

这是一个将textarea保存到文本文件的javascript代码。这个小提琴做了同样的事。:https://jsfiddle.net/pzvvhfv6/

我需要在我的代码中添加此功能,因此对其进行修改以便单击按钮,保存文本区域并创建新文件。但是,由于一些奇怪的原因,它显示未被捕获的引用错误onclick。以下是我正在处理的代码 https://jsfiddle.net/vu7thh34/

function call(){
   var create = document.getElementById('create');
    var textbox = document.getElementById('textbox');
    var link = document.getElementById('downloadlink');
    link.href = makeTextFile(textbox.value);
    link.style.display = 'block';
  }

HTML:

<textarea id="textbox">Type something here</textarea>  <button id="create">Create file</button> <a download="info.txt" id="downloadlink" style="display: none">Download</a>

代码有问题吗?

1 个答案:

答案 0 :(得分:1)

JSFiddle无法识别引用较低JavaScript部分中的函数的内联处理程序。

内联处理程序无论如何都是不好的做法 - 它们在HTML标记中基本上是eval。使用Javascript正确附加监听器,JSFiddle不会有任何问题:

document.querySelector('#create').onclick = call;

另一种选择是将您的代码放在HTML中的<script>标记中,而不是放在JSFiddle的Javascript 部分中,但这不是一个好主意。