繁体   English   中英

如何在没有 jQuery 的情况下将播放事件绑定到 AJAX 加载的视频?

[英]How to bind play events to AJAX loaded videos without jQuery?

我知道如何处理每个元素都支持的点击事件。 因此,我可以将它用于稍后通过 AJAX 加载的内容。

但似乎play事件仅适用于videoaudio标签。 所以我不能在身体上听它吗? 如何在没有 jQuery 的情况下为稍后使用 AJAX 加载的每个视频添加播放事件?

jQuerys on()会是正确的方式吗? 是否有 jQuery on() function 的独立端口可以用作模块?

document.body.addEventListener( 'mouseover', iframeEvent, false );
document.body.addEventListener( 'touchend', iframeEvent, false );
document.body.addEventListener( 'touchmove', iframeEvent, false );

function iframeEvent( ev ) {

    if ( ! ev.target ) {
        return;
    }

    const ele = ev.target;

    if ( ele.matches( 'iframe' ) ) {
        // do stuff
    }
}

<audio><video>之类的事件不会冒泡到父元素,这就是通常的委托方案的原因

document.body.addEventListener( 'play', iframeEvent, false );

不会工作。 但是您可以通过将第三个参数传递给 true 来使用事件的“捕获阶段”

document.body.addEventListener( 'play', iframeEvent, true);

更多在这里http://www.quirksmode.org/js/events_order.html

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM