我有一个WMP播放器对象,我正在尝试添加一个事件监听器来拦截发送给播放器的ScriptCommands。而不是附加到WMP对象,我的回调被立即调用,然后ScriptCommands没有被截获。
function init() {
var WMPlayer = document.getElementById("WMPlayer");
WMPlayer.addEventListener("ScriptCommand", MyScriptCommand(), false);
alert('init');
}
function MyScriptCommand() {
alert('script');
}
当我运行这个时,我会在init警报之前得到脚本警报....有谁知道为什么会发生这种情况?
答案 0 :(得分:2)
WMPlayer.addEventListener("ScriptCommand", MyScriptCommand(), false);
需要
WMPlayer.addEventListener("ScriptCommand", MyScriptCommand, false);
没有parantheses。使用paranthese,您调用函数并将其返回值作为侦听器传递,而不是对实际函数的引用。