Почему не срабатывает onended где я ошибаюсь?

Как заставить функцию сработать? myFunction() в событии onended?
var load = (function () {

    $.ajax({
        url: "run.php",
        type: "POST",
        dataType: "JSON",
        success: function send (audio1) {
            if (!Array.isArray(audio1) || !audio1.length) {
                div = document.getElementById('1');
                div.innerHTML = "<div></div>";
                console.log('2');
                setTimeout(load,3000);
            } else {
                var track = audio1[0].track;
                var t = audio1[0].time;
                var UNIX_TIMESTAMP = Math.round(new Date().getTime() / 1000);
                Date.prototype.getUnixTimestamp = function() {
                    return Math.round(this.getTime() / 1000);
                };
                var d = new Date();
                var utime = d.getUnixTimestamp();
                var time = ( utime -  t  );
                console.log(time);
                div = document.getElementById('1');
                div.innerHTML = "<audio id='myAudio'  controls onended='myFunction()'><source src='" + track + "'></audio>";
                var audio = document.getElementById("myAudio");
                audio.currentTime = time;
                audio.autoplay = true;
            }
        }
    });
});
load();
function myFunction() {       
    load();
}
  • Вопрос задан
  • 83 просмотра
Решения вопроса 1
djQuery
@djQuery
"Кодируем помаленьку" ("Сказка о Тройке")))
Попробуйте без скобок:

...onended='myFunction'...

В противном случае скрипт будет выполнять вашу функцию и подставлять её значение, т.е получится:

onended = значение_функции

Кроме того, используйте не 'JSON', а 'json' -- не уверен, что это влияет, но в литературе пишут как правило строчными буквами.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы