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

sem sumário de edição
Sem resumo de edição
Sem resumo de edição
Linha 55: Linha 55:
             }
             }
         });
         });
let usingKeyboard = false; // Flag para controlar interações via teclado


document.addEventListener('keydown', function (event) {
document.addEventListener('keydown', function (event) {
Linha 67: Linha 65:


     if (event.key === 'ArrowDown') {
     if (event.key === 'ArrowDown') {
        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 80: Linha 77:
         event.preventDefault();
         event.preventDefault();
     } else if (event.key === 'ArrowUp') {
     } else if (event.key === 'ArrowUp') {
        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 100: Linha 96:
});
});


// Adicionar eventos ao passar o mouse
dropdown.addEventListener('mouseover', function (event) {
dropdown.addEventListener('mouseover', function (event) {
    if (usingKeyboard) return; // Ignora eventos de mouse enquanto o teclado está em uso
     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 todas as seleções
         allItems.forEach(item => item.classList.remove('active')); // Remove 'active'
         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 (event) {
// Adicionar evento ao tirar o mouse do dropdown
     if (usingKeyboard) return; // Ignora eventos de mouse enquanto o teclado está em uso
dropdown.addEventListener('mouseout', function () {
 
     const allItems = dropdown.querySelectorAll('.dropdown-item');
    if (event.target.classList.contains('dropdown-item')) {
    allItems.forEach(item => item.classList.remove('active')); // Remove 'active'
        event.target.classList.remove('active'); // Remove a seleção do item do mouse
    }
});
});


dropdown.addEventListener('click', function () {
    usingKeyboard = false; // Reseta a flag ao clicar
    const allItems = dropdown.querySelectorAll('.dropdown-item');
    allItems.forEach(item => item.classList.remove('active')); // Remove todas as seleções
});
         document.addEventListener('click', function(event) {
         document.addEventListener('click', function(event) {
             if (!imageSearch.contains(event.target) && !dropdown.contains(event.target)) {
             if (!imageSearch.contains(event.target) && !dropdown.contains(event.target)) {
6 392

edições