Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di andreto
    Registrato dal
    Dec 2012
    Messaggi
    127

    preventDefault funziona ma non capisco perchè

    Ciao a tutti,
    avrei 3 domande per capire meglio la logica di preventDefault.

    Ho un form di registrazione, sul quale dando il focus su ogni input,
    viene aperta una speech bubble di fianco con le indicazioni.

    Un evento blur su ogni input chiude la bubble corrispondente.

    Ho passato un'intera giornata per capire come evitare che la bubble si chiudesse cliccandoci sopra.
    Ovvero il blur doveva funzionare dappertutto tranne che sulla bubble.

    Ne ho provate diverse finchè provando questa ho notato che funzionava:

    codice:
    $(".bubble_username").mousedown(function(event){
            event.preventDefault();        
        });


    In effetti il blur dell'input non viene scatenato e quindi la nuvoletta resta aperta finchè non clicco da qualche altra parte.
    La perdita del fuoco dell'input non avviene probabilmente perchè non si scatena il focus sulla nuvoletta.

    1) Sapete dirmi perchè così invece non funziona?

    codice:
    $(".bubble_username").click(function(event){
            event.preventDefault();        
        });
    Se provo il focus in effetti è disabilitato!
    Se provo il click invece è attivo.

    2) Cosa va a disattivare allora preventDefault su mousedown oltre al focus??

    3) Come avrei potuto sapere a priori senza fare decine di prove che il preventDefault su mousedown disabilitava il focus?

    Ho visto che il mousedown è il primo evento che si scatena al click del mouse, però non capisco come mai pur disattivandolo, il click continua a funzionare.

    Grazie a tutti per l'aiuto.
    Andrea

  2. #2
    Utente di HTML.it L'avatar di m4rko80
    Registrato dal
    Aug 2008
    residenza
    Milano
    Messaggi
    2,655
    Ciao, pur sembrando la stessa cosa, gli eventi sono gestiti diversamente. Qui puoi leggere le differenze.
    Il click su un elemento è stabilito dal mousedown seguito da un mouseup

  3. #3
    Utente di HTML.it L'avatar di andreto
    Registrato dal
    Dec 2012
    Messaggi
    127
    grazie

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.