Javascript 如何将变量传递给侦听器/处理程序函数
我正在使用projekktor在浏览器上播放我的视频。我在事件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
状态
上附加了许多侦听器
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想要的。