Visualizzazione risultati 1 fino 5 di 5

Discussione: evitare evento blur() jQuery

  1. #1
    Guest

    Predefinito evitare evento blur() jQuery

    ciao a tutti...


    vi descrivo la situazione in cui mi trovo (in questa situazione credo il codice sia abbastanza superfluo)

    ho un normale campo input type text.

    quando questo ha il fuoco basta ovviamente un click in qualsiasi punto della pagina (esterno al campo stesso) per fargli perdere il fuoco, e generare quindi l'evento .blur().

    è possibile fare in modo che l'evento blur non venga generato se il click, pur avvenendo all'esterno dell'area del modulo, avviene su un altro elemento a mio piacere, come per esempio un'immagine, o un div specifico?

  2. #2
    Guest

    Predefinito

    non puoi impedire l'evento.
    Puoi gestirlo.

  3. #3
    karl94 non è connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,745

    Predefinito

    Devi impedire che venga eseguita l'azione predefinita associata al click, ovvero l'acquisizione del focus da parte dell'oggetto che riceve l'evento, acquisizione che comporta la perdita del focus dell'oggetto che lo manteneva al momento.
    Per fare ciò devi semplicemente chiamare il metodo preventDefault dell'oggetto rappresentante l'evento.

  4. #4
    Guest

    Predefinito

    avevo provato con preventDefault...
    avevo fatto una prova veloce.. e quindi non escludo che possa aver sbagliato qualcosa.. comunque non impediva la perdita del focus da parte del campo del form...


    consideriamo questo caso:

    Codice:
    .
    .
    <input type='text' id='modulo'>
    .
    .
    <div id='box'></div>
    per evitare che cliccando sul div #box il campo #modulo
    perda il focus, e quindi si generi l'evento blur, dovrei scrivere:

    Codice:
    $('#box').click(function(e) {
    e.preventDefault();
    // e poi tutto il resto che voglio io
    })
    corretto?
    ora non ho modo di provarlo, e per questo chiedo conferma?
    Ultima modifica di stepone : 13-11-2011 alle ore 01.53.56

  5. #5
    karl94 non è connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,745

    Predefinito

    Effettivamente non funziona, benché le specifiche indicano che l'azione predefinita dell'evento click sia appunto quella che ho descritto prima.
    Potresti ascoltare per l'evento blur e riassegnare il focus immediatamente, ma non è una soluzione molto elegante.

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •