2

我正在开发一个应用程序,其中一个小部件有一个按钮,该按钮通过启动 API 启动另外两个。API 运行良好,但我无法让调用函数正常工作。当我刚刚声明 API 时,使用:

<script src="js/global.js"></script>

它工作正常,但在打开页面后立即启动。我需要它在按钮单击时启动。

我有以下代码:

<a href='' id='mylink'>click me</a>

<script type="text/javascript">
var myLink = document.getElementById('mylink');
myLink.onclick = function(){
var script = document.createElement("script");
script.type = "text/javascript";
script.src = "js/global.js."; 
return false;
alert('ping');
}

我设置了警报以查看进程停止工作的位置。“回归”之前的一切似乎都在运行。我已经用 return true 和 return false 尝试过这个,它没有区别。

4

2 回答 2

3

您需要插入脚本,尝试将其附加到头部:

document.getElementsByTagName('head')[0].appendChild(script);

所以你可以做这样的事情:

<script type="text/javascript">
 var myLink = document.getElementById('mylink');

 myLink.onclick = function(){
   var script = document.createElement("script");
   script.type = "text/javascript";
   script.src = "js/global.js."; 
   document.getElementsByTagName('head')[0].appendChild(script);
}

</script>

同样在 HTML 中尝试使用锚以外的其他东西,因为锚会尝试向您发送其他内容,下一个代码看起来像锚但是跨度:

<span style="cursor:pointer; text-decoration:underline" id='mylink'>click me</span>
于 2013-04-23T17:56:45.533 回答
2

return终止函数的执行。

您没有将script元素添加到文档中。

document.body.appendChild(script);
于 2013-04-23T17:55:56.097 回答