Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.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 如何将变量传递给侦听器/处理程序函数_Javascript_Jquery_Callback_Projekktor - Fatal编程技术网

Javascript 如何将变量传递给侦听器/处理程序函数

Javascript 如何将变量传递给侦听器/处理程序函数,javascript,jquery,callback,projekktor,Javascript,Jquery,Callback,Projekktor,我正在使用projekktor在浏览器上播放我的视频。我在事件状态上附加了许多侦听器 video.addListener('state', listener1); video.addListener('state', listener2); video.addListener('state', listener3); 在函数listener3内部,当状态为“已完成”时,我需要删除listener3。问题是,要删除侦听器,您需要可变视频。 假设listener3是一个回调函数,如何将变量vide

我正在使用projekktor在浏览器上播放我的视频。我在事件
状态
上附加了许多侦听器

video.addListener('state', listener1);
video.addListener('state', listener2);
video.addListener('state', listener3);
在函数listener3内部,当状态为“已完成”时,我需要删除listener3。问题是,要删除侦听器,您需要可变视频。
假设listener3是一个回调函数,如何将变量video传递给函数listener3?

要在JavaScript使用中删除事件侦听器,请执行以下操作:

现代浏览器:

video.removeEventListener('name', fnName);
旧ie:

video.detachEvent('name', fnName);
DOM级别0:

video['on' + name] = null;
jQuery:

video.off('name');

答案完全取决于listener3相对于addListener调用的定义方式和位置。这就像一个符咒!请看问题的粗体部分:“如何将可变视频传递给函数侦听器3?”您尚未回答此问题。首先,我非常抱歉这一天过得很长,我一定很紧张:)。。。第二,我很确定你可以使用listener3(视频)
addListener
接受两个参数:字符串和函数引用
addListener('state',listener3(video))
将传递的不是函数,而是函数的结果。那不是OP想要的。