[英]executing javascript through ajax
我有一个PHP文件,回声与HTML <script>
元素。 像这样:
<div>
<button onclick="FunctionName();">Click Me</button>
</div>
<script type="text/javascript" id="script1">
function FunctionName() {
/* block of code here */
}
</script>
<script type="text/javascript" id="script2">
alert("working")
</script>
我正在通过innerHTML方法插入此代码。 但是,我发现插入DOM的<script>
标签不会执行,除非您这样调用:
eval(document.getElementById('script1').innerHTML);
eval(document.getElementById('script2').innerHTML);
现在的问题是:script2正在执行,并且正在发出警告:“正在运行”,但是当我单击按钮时,控制台将返回此错误:
Uncaught ReferenceError: FunctionName is not defined
而奇怪的是,当我复制/粘贴相同的JavaScript代码时,将其放在eval()中; 并在控制台中输入它,效果很好!
那么为什么会这样以及如何解决呢?
我认为问题在于,当设置了单击事件侦听器时,尚未创建您的函数。
尝试将您的script1放在具有onClick事件的div之前。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.