This question already has answers here:
Why isn't my JavaScript working in JSFiddle?
                                
                                    (7个答案)
                                
                        
                                2年前关闭。
            
                    
这是一个JavaScript代码,可将文本区域保存到文本文件中。这个小提琴也一样。:https://jsfiddle.net/pzvvhfv6/
 我需要在代码中添加此功能,因此对其进行了修改,以便单击按钮时会保存文本区域并创建一个新文件。但是,由于某些奇怪的原因,它在onclick上显示了未捕获的参考错误。下面是Im正在处理的代码。
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>


代码有问题吗?

最佳答案

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

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

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


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

10-04 23:03
查看更多