Скрипт не запускается после загрузки div с помощью ajax
У меня есть скрипт audiojs для изменения стиля тега audios в html, когда я захожу на свою страницу, он работает без проблем, но когда я нажимаю кнопку, чтобы перезагрузить div (этот div содержит теги audio) с функцией load jQuery, стиль audiojs удален Я пытался получить скрипт после загрузки div с помощью jQuery getScript
, но скрипт загружался много раз, что вызывало остановку моего браузера.
это функция для вызова audiojs
audiojs.events.ready(function() {
audiojs.createAll();
});
Я хочу, чтобы решение вызывало эту функцию не более одного раза, спасибо
3 ответа
Спасибо всем,
я нашел решение,
после загрузки div с помощью ajax я добавил этот код для удаления класса audiojs
$("audio").removeClass("audiojs");
Трудно понять без какой-либо ссылки на библиотеку audio.js, но большинство API или библиотек будут давать некоторые указания на то, что они загружены. Я бы использовал оператор if, чтобы создать что-то вроде:
(function () {
function checkForLoaded(){
if (audiojs.state !== null) { //or something similar
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>
Я надеюсь, что вы получите некоторые идеи сейчас. Также проверьте свое кеширование.