0

我有一个 WMP 播放器对象,我正在尝试添加一个事件侦听器来拦截发送到播放器的 ScriptCommands。不是附加到 WMP 对象,而是立即调用我的回调,然后不拦截 ScriptCommands。

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

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

当我运行它时,我在初始化警报之前收到脚本警报......有谁知道为什么会发生这种情况?

4

1 回答 1

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

需要是

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

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

于 2009-07-09T19:01:46.753 回答