Javascript 删除“的VentListener”;卷轴;课堂事件

Javascript 删除“的VentListener”;卷轴;课堂事件,javascript,Javascript,在javascript中,我有一个类,它有一个运行良好的scroll事件显示多个console.log(“确定滚动”)。 const PaginatorInfiniteScroll = class { constructor(paginationElement) { ... window.addEventListener('scroll', () =>

在javascript中,我有一个类,它有一个运行良好的
scroll
事件显示多个
console.log(“确定滚动”)

            const PaginatorInfiniteScroll = class {
                constructor(paginationElement) {
                    ...

                    window.addEventListener('scroll', () => {
                        this.scroll()
                    })
                }

                scroll()
                {
                    console.log('OK scroll')
                    ...
                }

                endScroll()
                {
                     window.removeEventListener('scroll', () => {
                        console.log('OK remove')
                        this.scroll()
                    }, true)
                }

                ...
但当我不再需要此事件时,我想将其删除

当我执行
this.endScroll()
时,显示了良好的
console.log('OK remove')
,但我仍然有滚动时显示的
console.log('OK scroll')


我认为我执行的
removeEventListener('scroll')
很糟糕,但不知道如何执行您只需要传递需要删除侦听器的事件的名称。这将删除
scroll
event的所有事件侦听器

window.removeEventListener('scroll'); 
编辑:

如果只想删除
scroll
事件的特定侦听器,则需要将回调函数保存在某个变量中,并将该变量传递给
removeEventListener
函数

const callback = () => {
    console.log('OK Scroll');
}

window.addEventListener('scroll', callback);       // add scroll event listener

window.removeEventListener('scroll', callback);    // remove scroll event listener

您可以调用
removeEventListener('scroll')
,它将删除该事件的所有附加侦听器。如果要删除某个特定的事件,则需要保存您用作侦听器的匿名方法,以便您可以将其指定为需要删除的事件。谢谢,但我只想删除此事件。我的页面中有其他“滚动”事件,但我不想删除它们。:)好的,那么请阅读我评论的第二部分。谢谢,如何注册匿名函数?:)您已经注册了一个匿名函数
addEventListener('scroll',()=>{})
。该arrow函数是一个匿名函数,因为没有对它的持久引用。如果您希望能够注销该方法,特别是,您必须对其进行引用,然后删除该特定事件侦听器。谢谢,但我只想删除该事件。我的页面中有其他“滚动”事件,但我不想删除它们。:)