【问题标题】:Javascript uncaught reference error, call is not defined onclick [duplicate]Javascript未捕获的引用错误,调用未定义onclick [重复]
【发布时间】:2018-10-23 17:25:07
【问题描述】:

这是一个将文本区域保存到文本文件中的 javascript 代码。这个小提琴也是如此。:
https://jsfiddle.net/pzvvhfv6/

我需要在我的代码中添加这个功能,所以修改它以便单击按钮,保存文本区域并创建一个新文件.但是,出于某种奇怪的原因,它在单击时显示未捕获的引用错误。以下是我正在处理的代码。
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>

代码有问题吗?

【问题讨论】:

    标签: javascript button onclick addeventlistener jsfiddle


    【解决方案1】:

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

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-05-26
      • 2013-04-10
      • 2019-10-25
      • 2020-09-17
      • 2021-09-19
      • 1970-01-01
      • 1970-01-01
      • 2013-10-27
      相关资源
      最近更新 更多