使用ajax加载div后,脚本不会运行

时间:2016-07-22 19:12:01

标签: javascript jquery html ajax audiojs

我有脚本audiojs用于更改html中的音频标签样式当我转到我的页面时它没有问题,但当我单击一个按钮重新加载div(此div包含音频标签)时,函数加载jQuery的样式删除了audiojs,我尝试使用jQuery getScript加载div后获取脚本,但脚本加载了很多次导致我的浏览器停止。

这是调用audiojs的函数

audiojs.events.ready(function() {
  audiojs.createAll();
});

我想要一个解决方案,暂时不再调用此函数,谢谢

3 个答案:

答案 0 :(得分:0)

尝试使用脚本添加新的脚本标记,以便在代码中重新加载,如下所示:

 <script language="text/javascript">
   function audiojs()
   {
      var div= document.getElementsByTagName('head')[0];
      var script= document.createElement('script');
      script.type= 'text/javascript';
      script.src= 'audiojs.js';
      div.appendChild(script);
   }
   audiojs();
</script>

我希望你现在能得到一些想法。还要检查你的缓存。

答案 1 :(得分:0)

如果没有任何指向audio.js库的链接,很难知道,但是大多数API或库会给出一些表明它们已被加载的信息。我会使用if语句来创建类似的东西:

(function () {
 function checkForLoaded(){
   if (audiojs.state !== null) { //or something similar
      audiojs.createAll();
   }
 }
})();

答案 2 :(得分:0)

谢谢大家,

我找到了解决方案,

用ajax加载div之后我添加了这段代码来删除类audiojs

$("audio").removeClass("audiojs");