如何从一系列循环元素中获取点击元素?

Posted

技术标签:

【中文标题】如何从一系列循环元素中获取点击元素?【英文标题】:How to get a clicked elements from the series of looped elements? 【发布时间】:2022-01-08 02:24:18 【问题描述】:

我有使用 ejs 模板引擎循环播放的视频,我想在针对特定视频元素时处理点击事件。

我想在用户循环点击视频时获得点击视频。

以下代码为例:

<% for(var i=0; i<100; i++  %>
<video>
<source src="assets/video.mp4">
<video>
<%  %>

【问题讨论】:

【参考方案1】:

您可以检查视频上的点击事件并查看来源。

需要注意的一件事 - currentSrc 是在加载元数据后设置的。我怀疑这对您的用例来说没问题,但如果不是,您可以等待“onloadeddata”事件,然后再允许点击功能。

const videoElement = document.querySelector('video');

    videoElement.addEventListener(`click`, () => 
      console.log(`Clicked` + videoElement.currentSrc);
      videoElement.play(); //To continue playing the video
      )
<video autobuffer controls autoplay>
  <source src="http://grochtdreis.de/fuer-jsfiddle/video/sintel_trailer-480.mp4" type="video/mp4">
</video>

【讨论】:

确实如此,但是如果这些视频不止一个,那么它适用于单个视频,我只想播放使用 ejs 模板循环播放的数百个视频中丢失的点击视频。 以上是纯 javascript,所以应该可以在任何地方工作,包括在你的循环内。它将为您提供用户单击的任何视频的源值。

以上是关于如何从一系列循环元素中获取点击元素?的主要内容,如果未能解决你的问题,请参考以下文章

php中如果从一堆元素中随机出2个元素,举个例子:张三,李四,王五,刘六...有十个名字,

js如何动态删除指定id系列元素?

Selenium 获取一组元素然后循环点击

JavaScript 从一次点击弹出一个元素

如何运用CSS3把元素从一种样式变换为另一种样式

javascript如何获取点击元素的值