jquery - 使用 $(document).on('play', 'video', function()) 时播放不起作用
Posted
技术标签:
【中文标题】jquery - 使用 $(document).on(\'play\', \'video\', function()) 时播放不起作用【英文标题】:jquery - on play not working when using $(document).on('play', 'video', function())jquery - 使用 $(document).on('play', 'video', function()) 时播放不起作用 【发布时间】:2017-09-27 08:08:34 【问题描述】:我不知道为什么在播放不起作用!!!
$('video').on('play', function() alert('working'); );
$(document).on('play', 'video', function() //not working );
据我所知,对于音频/视频,我们应该使用 get(0) 来获取 dom,但对于第二个它没有得到,您的猜测/建议是什么?
另一个方法问题
所以似乎没有人知道这一点,所以我决定使用点击事件。在单击事件中,我检查它是否已暂停,如果已暂停,请暂停其他人并播放此事件,否则也暂停此事件。
$(document).on('click', 'video', function()
if($(this).get(0).paused)
$(this).get(0).play();
else
$(this).get(0).pause();
);
它可以在 Firefox 中使用,但是在使用 chrome 或 ie 时问题就开始了。单击视频时它可以工作,但是当单击播放按钮时它没有检测到单击事件已触发!!!我该如何解决?
【问题讨论】:
【参考方案1】:你可以试试下面的javascript解决方案:
document.getElementById('vid1').addEventListener('play', function() alert('working'); );
注意:“vid1”是视频元素的 ID。
【讨论】:
谢谢@Ronnee007,但您自己测试过吗?它没有工作:( 是的,我测试了它,它对我来说效果很好。您可以尝试的另一个解决方案是在 html 本身的视频标签中添加“onplay”属性。让我知道这是否有效! 我不知道如何表达我的快乐,但谢谢!我 **** 自己来修复它,你的最后一个建议就像一个魅力!谢谢兄弟:) 很高兴我能帮上忙 :)【参考方案2】:document.addEventListener('play', function (e)
var video = e.target;
if (video.nodeName === 'VIDEO')
console.log('onplay', video);
// do something ...
, true);
【讨论】:
以上是关于jquery - 使用 $(document).on('play', 'video', function()) 时播放不起作用的主要内容,如果未能解决你的问题,请参考以下文章
什么时候应该使用 jQuery 的 document.ready 函数?
为啥我不能使用 onClick 在 jQuery $(document).ready 函数中执行函数?
jquery - 使用 $(document).on('play', 'video', function()) 时播放不起作用