Widget:Test: mudanças entre as edições

Ir para navegação Ir para pesquisar
55 bytes adicionados ,  27 de dezembro de 2024
sem sumário de edição
Sem resumo de edição
Sem resumo de edição
Linha 68: Linha 68:
     if (event.key === 'ArrowDown') {
     if (event.key === 'ArrowDown') {
         usingKeyboard = true; // Ativa a flag de interação por teclado
         usingKeyboard = true; // Ativa a flag de interação por teclado
         allItems.forEach(item => item.classList.remove('active')); // Remove 'active'
         allItems.forEach(item => item.classList.remove('active')); // Remove todas as seleções


         if (activeItem) {
         if (activeItem) {
Linha 81: Linha 81:
     } else if (event.key === 'ArrowUp') {
     } else if (event.key === 'ArrowUp') {
         usingKeyboard = true; // Ativa a flag de interação por teclado
         usingKeyboard = true; // Ativa a flag de interação por teclado
         allItems.forEach(item => item.classList.remove('active')); // Remove 'active'
         allItems.forEach(item => item.classList.remove('active')); // Remove todas as seleções


         if (activeItem) {
         if (activeItem) {
Linha 105: Linha 105:
     if (event.target.classList.contains('dropdown-item')) {
     if (event.target.classList.contains('dropdown-item')) {
         const allItems = dropdown.querySelectorAll('.dropdown-item');
         const allItems = dropdown.querySelectorAll('.dropdown-item');
         allItems.forEach(item => item.classList.remove('active')); // Remove 'active'
         allItems.forEach(item => item.classList.remove('active')); // Remove todas as seleções
         event.target.classList.add('active'); // Adiciona 'active' ao item do mouse
         event.target.classList.add('active'); // Adiciona 'active' ao item do mouse
     }
     }
});
});


dropdown.addEventListener('mouseout', function () {
dropdown.addEventListener('mouseout', function (event) {
     if (usingKeyboard) return; // Ignora eventos de mouse enquanto o teclado está em uso
     if (usingKeyboard) return; // Ignora eventos de mouse enquanto o teclado está em uso
     const allItems = dropdown.querySelectorAll('.dropdown-item');
 
    allItems.forEach(item => item.classList.remove('active')); // Remove 'active'
     if (event.target.classList.contains('dropdown-item')) {
        event.target.classList.remove('active'); // Remove a seleção do item do mouse
    }
});
});


Linha 119: Linha 121:
     usingKeyboard = false; // Reseta a flag ao clicar
     usingKeyboard = false; // Reseta a flag ao clicar
     const allItems = dropdown.querySelectorAll('.dropdown-item');
     const allItems = dropdown.querySelectorAll('.dropdown-item');
     allItems.forEach(item => item.classList.remove('active')); // Remove 'active'
     allItems.forEach(item => item.classList.remove('active')); // Remove todas as seleções
});
});




6 386

edições

Menu de navegação