Задать вопрос
@EpicUsaMan

Эвенты прикрепленные к audio внутри jquery функции не выполняются?

Для проверки сделал
$.fn.player = function() {
$(this).find('audio')[0].canplay = function(e) {
console.log(e);
}
}
$(document).ready(function() {
$('.widget').player();
});


Но при загрузке трека ничего не происходит. Ни ошибки, ничего.

При этом document.getElementById('audio').canplay выводит в консоли эту функцию.

Кроме того, если задать её через document.getElementById('audio') все работает.

Что я делаю не так?
  • Вопрос задан
  • 296 просмотров
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
inblank
@inblank
Full Stack Web Developer
Прикреплять события в jquery лучше все таки с помощью метода .on()
В вашем случае будет примерно так:
$.fn.player = function() {
    $(this).find('audio').on('canplay', function(e) {
        console.log(e);
    });
}

А без jquery событие не canplay, а oncanplay:
$(this).find('audio')[0].oncanplay = function(e) {
    console.log(e);
}
Ответ написан
Ваш ответ на вопрос

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

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