从jquery中的动态内容捕获所有音频结束事件

精蛋白

我见过类似的问题-但不能解决我的问题!

我的页面上有音频,当一个结束时,我希望下一个开始,但我什至无法触发结束...

我将代码缩减为:

function DaisyChainAudio() {
    $().on('ended', 'audio','' ,function () {
        alert('done');
    });
}

这是从我的页面/代码中调用的(并执行该操作,设置一个断点表明这一点)。

据我了解,这应该在文档级别设置处理程序,因此任何“音频”标签(即使是动态添加)中的任何“结束”事件也应被捕获并向我显示警报...

但是它永远不会触发。

编辑

到目前为止,从ÇağatayGürtürk的建议中得到了一些借鉴...

function DaisyChainAudio() {
        $(function () {
        $('audio').on('ended', function (e) {
            $(e.target).load();
            var next = $(e.target).nextAll('audio');
            if (!next.length) next = $(e.target).parent().nextAll().find('audio');
            if (!next.length) next = $(e.target).parent().parent().nextAll().find('audio');
            if (next.length) $(next[0]).trigger('play');
        });
    });
}

我仍然想在文档级别设置它,所以我不必担心在添加动态元素时添加它...

Cagatay Gurturk

尝试这个:

$('audio').on('ended', function (e) {
        alert('done');
        var endedTag=e.target; //this gives the ended audio, so you can find the next one and play it.
});

请注意,在动态创建新音频时,应分配事件。一个快速而肮脏的解决方案是:

function bindEvents(){
$('audio').off('ended').on('ended', function (e) {
            alert('done');
            var endedTag=e.target; //this gives the ended audio, so you can find the next one and play it.
    });
}

并在创建/删除音频元素时运行bindEvents。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在jQuery Laravel中停止所有音频的动态播放

JavaScript / jQuery如何选择动态创建的所有音频元素?

使用jquery捕获Bootstrap Modal中动态按钮的点击事件

在Angularjs中的ng-repeat中初始化所有控制器后,在加载所有内容后如何捕获事件?

如何捕获JFrame / Swing中的所有鼠标事件?

捕获所有内容与仅捕获lambda中的一些内容

检测音频何时在Jquery中结束

ExtJS-捕获所有事件

如何从iFrame中的元素捕获动态内容?

使用jQuery捕获div中的所有单选按钮

捕获括号内的所有内容

捕获屏幕上所有内容的脚本

当游戏在战舰上结束时,如何从所有<tds>中删除事件侦听器?

正则表达式替换php中开始和结束标记之外的所有内容

为什么除了对象以外,Python中没有捕获所有内容?

所有JavaScript结束后运行的jQuery

捕获Vue应用程序中的所有点击事件

Aspectj不会在Spring框架中捕获所有事件吗?

如何在 VBA 中捕获所有工作表的粘贴事件?

如何正确捕获和过滤 QTableWidget 中的所有键盘事件?

更新所有重复ID的jQuery中的html内容

jQuery 获取 id 和 class 中的所有内容

删除jquery中#inhref之后的所有内容

jQuery替换div中除标签外的所有内容

使用jQuery在Textarea中显示XML文件的所有内容

如何捕获基于ipython的jupyter笔记本中打印的所有内容?

Reg Exp在VBA中的某个单词之前捕获所有内容

在zalenium中捕获音频

如何等待所有动态嵌套承诺结束?