Обработка событий jQuery для медиа-событий HTML5 - PullRequest
5 голосов
/ 26 сентября 2011

Я хочу прослушать некоторые события, сгенерированные элементом HTML5 <audio>.Некоторые из атрибутов событий для элемента <audio>: onplaying, onprogress, onseeked, onseeking и т. Д.,

Я пытался прослушивать эти события в jquery с использованием обычной функции live(), как показано ниже, но это не такработать.

        $('audio#voice').live('progress', function(){
            $('a#play').replaceWith("Playing...")
        });

Я также пытался с

        $('audio#voice').live('onprogress', function(){
            $('a#play').replaceWith("Playing...")
        });

Есть ли какой-нибудь другой способ прослушивания этих медиа-событий HTML5 в jQuery?

Ответы [ 4 ]

2 голосов
/ 26 сентября 2011

Вы можете использовать live() и delegate() только для событий, которые всплывают.Аудио события, вероятно, не так, поэтому вы можете только bind() их на существующих элементах.

1 голос
/ 24 апреля 2012

Это также может быть полезно.Я цитирую из jQuery bind api doc:

Начиная с jQuery 1.7, метод .on () является предпочтительным методом для добавления обработчиков событий к документу.

1 голос
/ 20 декабря 2011

Я пытался прослушать onloadedmetadata, $ ('audio'). Bind ('onloadedmetadata', function () {....});, но он не работал.По крайней мере, для этого мне пришлось использовать «загруженные метаданные» в bind, и тогда это сработало.$ ('audio'). bind ('loadedmetadata ', function () {....});просто хедз-ап для других событий.

0 голосов
/ 26 сентября 2011

live () не работает.bind() работал.

$('audio#voice').bind('progress', function(){
  $('a#play').replaceWith("Playing...")
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...