Почему в js не работает задержка?

 document.addEventListener('mouseover', event => {
    if(event.target.classList.contains('block')) {
      event.target.classList.add('block-active')
    }
  
 });
 
 document.addEventListener('mouseout', event => {
  
    if(event.target.classList.contains('block')) {
      event.target.classList.remove('block-active').delay(1000)
    }
  
 });
body {
    display: flex;
    align-items: center;
    justify-content: center;
}
.block {
    width: 200px;
    height: 200px;
    position: relative;
    background: #000;
}
.block-active {
    display: none;
}
<body>
    
    <div class="block">
        
    </div>


</body>


Ответы (1 шт):

Автор решения: demark-pro

remove().delay() есть в jQuery, но в чистом js у remove() нет такого метода.

Ты должен использовать setTimeout

setTimeout(() => event.target.classList.remove('block-active'), 1000)
→ Ссылка