我有一个WMP播放器对象,并且试图添加一个事件侦听器以拦截发送到播放器的ScriptCommand。而不是附加到WMP对象,而是立即调用我的回调,这样就不会截获ScriptCommands。

function init() {
      var WMPlayer = document.getElementById("WMPlayer");
      WMPlayer.addEventListener("ScriptCommand", MyScriptCommand(), false);
  alert('init');
  }

  function MyScriptCommand() {
      alert('script');
  }


运行此命令时,我会在初始化警报之前收到脚本警报。...有人知道为什么会发生这种情况吗?

最佳答案

WMPlayer.addEventListener("ScriptCommand", MyScriptCommand(), false);

需要是
WMPlayer.addEventListener("ScriptCommand", MyScriptCommand, false);

没有括号。使用括号,您将调用该函数并将其返回值作为侦听器传递,而不是传递给实际函数的引用。

10-06 07:41