youtube-api removeEventListener不工作

use*_*000 8 youtube events event-handling youtube-api

我能够很好地添加事件.

addEventListener("onStateChange", "handleStateChange");
Run Code Online (Sandbox Code Playgroud)

但是当试图删除事件时,它没有.

removeEventListener("onStateChange", "handleStateChange");
Run Code Online (Sandbox Code Playgroud)

handleStateChange我暂停/播放视频时仍然会被呼叫.有没有人碰到这个并有解决方案?或者API上有错误吗?

jlm*_*ald 7

我认为问题是YouTube API的播放器对象没有removeEventListener方法.请记住,当你打电话时addEventListener,你是作为构建的youtube播放器对象的方法而不是使用定义为DOM元素的方法的方法(YouTube API选择将它们的方法命名为相同以便更熟悉对于开发人员).

过去对其他人有用的一个建议是,当您处于可能需要删除事件监听器的情况时,您只需重新定义状态更改回调...类似于:

handleStateChange = function() {};
Run Code Online (Sandbox Code Playgroud)

  • 2019 年 3 月仍然存在问题。事件上述建议不起作用。 (2认同)