Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript GetElementByMore项_Javascript_Jquery_Html_Listener_Video.js - Fatal编程技术网

Javascript GetElementByMore项

Javascript GetElementByMore项,javascript,jquery,html,listener,video.js,Javascript,Jquery,Html,Listener,Video.js,我使用VideoJS框架,我想知道用户何时暂停视频。当我点击“播放按钮”和视频时,视频将暂停: var vjs = document.getElementById("really-cool-video_html5_api"); // on video var vjs = document.getElementById("really-cool-video").getElementsByClassName("vjs-play-control")[0]; // click button play

我使用VideoJS框架,我想知道用户何时暂停视频。当我点击“播放按钮”和视频时,视频将暂停:

var vjs = document.getElementById("really-cool-video_html5_api"); // on video
var vjs = document.getElementById("really-cool-video").getElementsByClassName("vjs-play-control")[0]; // click button play
使用Listener,查看用户是否单击此“div”:


但它只在我点击
document.getElementById(“真正酷的视频”).getElementsByClassName(“vjs播放控制”)[0]
我想要,我的监听器中有两个div。。。我无法更改HTML并告诉同名的div。。。如何创建两个元素的侦听器?

您的侦听器具有相同的命名变量。尝试将第二个
vjs
更改为
vjsBtn
,就像这样

var vjsInnerBtn = document.getElementById("really-cool-video_html5_api"); // on video
var vjsPlayerBtn = document.getElementById("really-cool-video").getElementsByClassName("vjs-play-control")[0]; // click button play
现在你可以自由完成这项任务了

vjsInnerBtn.addEventListener("click", checkPause, false);
vjsPlayerBtn.addEventListener("click", checkPause, false);

将侦听器附加到的命名变量相同。尝试将第二个
vjs
更改为
vjsBtn
,就像这样

var vjsInnerBtn = document.getElementById("really-cool-video_html5_api"); // on video
var vjsPlayerBtn = document.getElementById("really-cool-video").getElementsByClassName("vjs-play-control")[0]; // click button play
现在你可以自由完成这项任务了

vjsInnerBtn.addEventListener("click", checkPause, false);
vjsPlayerBtn.addEventListener("click", checkPause, false);

我假设jQuery对您可用,因为您已经标记了它。这使事情变得更容易,因为您只需用事件处理程序所附加的元素填充选择器:

$('#really-cool-video_html5_api, #really-cool-video .vjs-play-control').on('click', checkPause);

注意,这仍然添加了多个事件处理程序,如果您希望通过单击两个不同的元素触发相同的功能,则必须执行此操作。

我假设您可以使用jQuery,因为您已经标记了它。这使事情变得更容易,因为您只需用事件处理程序所附加的元素填充选择器:

$('#really-cool-video_html5_api, #really-cool-video .vjs-play-control').on('click', checkPause);

注意,这仍然会添加多个事件处理程序,如果您希望通过单击两个不同的元素触发相同的功能,则必须执行此操作。

您是否考虑将它们存储在一个数组中?像

var controls['video']  = document.getElementById("really-cool-video_html5_api"); // on video
controls['pause_btn'] = document.getElementById("really-cool-video").getElementsByClassName("vjs-play-control")[0];
//Here you add the addEvenListener with the array elements.

使用不同变量的方法是相同的,但如果要将它们附加到同一事件侦听器或使用函数,则可以迭代它们。是否考虑将它们存储在数组中?像

var controls['video']  = document.getElementById("really-cool-video_html5_api"); // on video
controls['pause_btn'] = document.getElementById("really-cool-video").getElementsByClassName("vjs-play-control")[0];
//Here you add the addEvenListener with the array elements.

使用不同变量的方法是相同的,但如果要将它们附加到同一事件侦听器或使用函数,则可以对它们进行迭代。您最好使用video.js的api来侦听暂停事件。有几种方法可以在不单击(键盘控制)的情况下暂停视频,也有几种方法可以在不单击(播放)的情况下暂停视频


您最好使用video.js的api来监听暂停事件。有几种方法可以在不单击(键盘控制)的情况下暂停视频,也有几种方法可以在不单击(播放)的情况下暂停视频



您对这两个变量都使用相同的变量名,它只会将事件侦听器添加到vjs设置为最新的变量名,使用不同的变量名我知道。。。但是我如何使用:
vjs.addEventListener(“单击”,检查暂停,false)用于jQuery标记vjs1.addEventListener的两个div目的。。。vjs2.addEventListener?我只想使用1个变量,因为在我使用更多的div之后,我可以进行混淆。如果两个变量都使用相同的变量名,它只会将事件侦听器添加到vjs设置为最新的变量,使用不同的变量名我知道。。。但是我如何使用:
vjs.addEventListener(“单击”,检查暂停,false)用于jQuery标记vjs1.addEventListener的两个div目的。。。vjs2.addEventListener?我只想使用1个变量,因为在我使用更多的div之后,我可以使用confusionyes,我知道,但我想使用两个div做一次侦听器。。。我不知道我是否明白。两者都有不同的事件变量名,比如vjsInnerBtn。但它们都将回调函数checkPause是什么。究竟为什么您希望两者都有相同的事件变量名?听起来你需要的是既有处理函数,也有处理函数。。。。无论如何,在委派之后,您最终需要一种方法来分别引用每一个。我想这样做是因为我使用了很多getelementbyyes,我知道,但我想用这两个div做一次侦听器。。。我不知道我是否明白。两者都有不同的事件变量名,比如vjsInnerBtn。但它们都将回调函数checkPause是什么。究竟为什么您希望两者都有相同的事件变量名?听起来你需要的是既有处理函数,也有处理函数。。。。无论如何,在委派之后,您最终需要一种方法来分别引用每一个。我之所以要这样做,是因为我使用了很多GetElementBy,因为我已经尝试过了。。。但它不起作用。。。我有一个错误:UncaughtTypeError:无法读取未定义的属性“w”,我使用VideoJS APIi,我已经尝试过了。。。但它不起作用。。。我有一个错误:uncaughtypeerror:无法读取未定义的属性“w”,我使用VideoJSAPI