javascript绑定事件问题
我只是想和你们核实一下我写的是否正确。我试图做的是在用户“暂停”/“完成”视频时进行监听。第一个视频正确运行complete()和pause(),并在控制台日志中正确输出,但当我测试第二个视频时,complete()和pause()在控制台日志中没有显示任何内容。我想知道是不是因为我有(2)个绑定函数导致了这个问题。如果有人能帮助我,或者如何写得更好,我将不胜感激javascript绑定事件问题,javascript,jquery,Javascript,Jquery,我只是想和你们核实一下我写的是否正确。我试图做的是在用户“暂停”/“完成”视频时进行监听。第一个视频正确运行complete()和pause(),并在控制台日志中正确输出,但当我测试第二个视频时,complete()和pause()在控制台日志中没有显示任何内容。我想知道是不是因为我有(2)个绑定函数导致了这个问题。如果有人能帮助我,或者如何写得更好,我将不胜感激 ( function(window, document, $, undefined) { function comple
( function(window, document, $, undefined) {
function complete(){
// do something here
console.log('video completed');
}
function pause(){
// do something here
console.log('video paused');
}
// 1st video
$('.short .player').bind({
ready: function(e) {
e.preventDefault();
// do something here
complete();
pause();
}
});
// 2nd video
$('.long .player').bind({
ready: function(e) {
e.preventDefault();
// do something here
complete();
pause();
}
});
})(window, document, jQuery);
///////////////////////更新的/////////////////////////
( function(window, document, $, undefined) {
function complete(){
// do something here
console.log('video completed');
}
function pause(){
// do something here
console.log('video paused');
}
// 1st video
$('.short .player').one({
click: function(e) {
e.preventDefault();
// do something here
complete();
pause();
}
});
// 2nd video
$('.long .player').one({
click: function(e) {
e.preventDefault();
// do something here
complete();
pause();
}
});
})(window, document, jQuery);
不,有两个绑定函数与此无关。您绑定到的
ready
事件可能会导致问题。jQuery有一个特例,将其重定向到$(document).ready
,因此它根本就不会真正监听视频准备就绪。我决定使用ready事件,因为我只想知道用户单击(播放)视频时的“一次”。有没有办法解决这个问题?第一个视频是done()和pause()。第二个视频没有读到它。谢谢你的帮助,我会继续努力,希望有人能帮我。我只知道准备好的活动可能不是你需要的。为什么一个触发而另一个不触发很奇怪。。。更新:我没有使用.bind(),而是通过单击函数将其更改为.one()。这似乎更合理,因为我只想听到用户在视频上单击一次,这样我就知道他们何时观看了视频,但第二个视频中仍然没有运行这两个函数(pause(),complete())。