延迟 window.addEventListener

delay in window.addEventListener

我想在延迟一段时间后调用 onMessageReceived。

window.addEventListener("message", onMessageReceived);

function onMessageReceived(event)
{
    var messageData = JSON.parse(event.data);

    if (messageData.type === "panelExpanded")
    {
        expandButton.style.display = 'none';
    }
}

我想在收到的数据为 "panelExpanded"

时隐藏 expandButton

我想延迟 onMessageRecieved 方法。我尝试了 setInterval 和 setTimeout 但 none 这项工作。

setTimeout(window.addEventListener("message", onMessageReceived), 3000);
window.addEventListener ('message', function () {
    setTimeout (onMessageReceived, 3000);
}, false);

setInterval(window.addEventListener("message", onMessageReceived), 3000);
window.addEventListener ('message', function () {
    setInterval (onMessageReceived, 3000);
}, false);

如何添加延迟?帮助将不胜感激。提前致谢

你试过这样吗?

window.addEventListener("message", onMessageReceived);

function onMessageReceived(event)
{
    setTimeout(function(){
        var messageData = JSON.parse(event.data);

        if (messageData.type === "panelExpanded")
        {
            expandButton.style.display = 'none';
        }
    },3000);
}