@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') все работает.

Что я делаю не так?
  • Вопрос задан
  • 295 просмотров
Пригласить эксперта
Ответы на вопрос 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);
}
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
SummerWeb Ярославль
от 120 000 до 180 000 ₽
КРАФТТЕК Санкт-Петербург
от 60 000 до 80 000 ₽
Brightdata Тель-Авив
от 5 500 до 6 500 $
02 июн. 2024, в 18:55
35000 руб./за проект
02 июн. 2024, в 18:32
5000 руб./за проект
02 июн. 2024, в 17:29
1000 руб./в час