繁体   English   中英

事件监听器 function 未定义?

[英]Eventlistener function is undefined?

单击按钮时,我希望删除事件侦听器。

function clickMe(f,i){
      ipcRenderer.send('click', i)

      ipcRenderer.on(`message`, function (en, message) {
        document.getElementById(`status${i}`).innerHTML = message[1];
        //ipcRenderer.removeAllListeners('message') <- I don't want all listeners to be removed
      });
}

如上面的代码所示,removeAllListeners 有效,但是,我不希望删除所有侦听器。 我相信我可以使用removeListener('message', function)但如果我尝试放置removeListener('message', startMe())我会抛出未定义的错误。 我将如何 go 这样做?

该方法称为removeEventListener ,它将您要删除的 function 作为其第二个参数。 您无法删除它,因为 function 是匿名的。 如果您使用命名函数,它应该可以工作:

function onMessage = function (en, message) {
    document.getElementById(`status${i}`).innerHTML = message[1];
    ipcRenderer.removeEventListener('message', onMessage);
}

function clickMe(f,i){
      ipcRenderer.send('click', i)
      ipcRenderer.on('message', onMessage);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM