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

Script doesn't run after load a div with ajax

我有脚本 audiojs 用于更改 html 中音频标签的样式,当我转到我的页面时它可以正常工作,但是当我单击按钮重新加载 div(这个 div 包含 audios 标签)具有函数加载 jQuery 删除了 audiojs 的样式,我尝试在使用 jQuery getScript 加载 div 后获取脚本,但是脚本加载多次导致我的浏览器停止。

这是调用audiojs的函数

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

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

尝试添加一个新的脚本标签到脚本中以重新加载您的代码,如下所示:

 <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>

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

很难知道 audio.js 库没有任何 link,但大多数 API 或库会给出一些指示,表明它们已加载。我会使用 if 语句来创建如下内容:

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

谢谢大家,

我找到了解决方案,

在使用 ajax 加载 div 后,我添加了此代码以删除 class audiojs

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