如何在单击到另一个元素时插入新的脚本元素

时间:2013-04-23 17:53:04

标签: javascript onclick widget

我正在开发一个应用程序,其中一个小部件有一个按钮,通过启动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');
}

我设置了警报以查看进程停止工作的位置。 “回归”之前的一切似乎都在运行。我试过这个,返回true并返回false,它没有任何不同。

2 个答案:

答案 0 :(得分: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>

答案 1 :(得分:2)

return终止函数的执行。

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

document.body.appendChild(script);