Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    Problema con la funzione this.blur()

    Salve a tutti.
    Ho il seguente problema:
    ho un immagine divisa in zone avente delle aree cliccabili che linkano a pagine diverse.
    In ie7 utilizzando onFocus="this.blur()" evita la retinatura dell'area ed è ciò che voglio ma in mozilla firefox rimane.
    Ho trovato in giro che mettendo onFocus="?this.blur()?" il problema per mozilla firefox viene risolto ma ne subentra uno per ie7 che mi da errore javascript....
    Come posso fare per far sì che entrambi i browser accettino correttamente la funzione in oggetto?
    Un grazie anticipato a tutti.

  2. #2
    So che una soluzione è quella di vedere quale browser si sta utilizzando ed in base al risultato scrivere onFocus="this.blur()" oppure onFocus="?this.blur()?" ma io volevo un'altra soluzione.

  3. #3
    Utente di HTML.it L'avatar di oskaron
    Registrato dal
    Sep 2006
    Messaggi
    344
    con prototype:

    Event.observe(oggetto, blur, funzione, false)
    è crossbrowser e accessibile

  4. #4
    iltone secondo me conviene che becchi il browser e in base al browser fai l'una o l'altra. Non conosco le differenze tra FF e IE, però un'if-else non fa mai male
    --Fletto i muscoli e sono nel vuoto--

  5. #5
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    Originariamente inviato da oskaron
    con prototype:

    Event.observe(oggetto, blur, funzione, false)
    è crossbrowser e accessibile
    gran bella libreria ma non mi sembra il caso di consigliarla in ogni messaggio e per qualsiasi tipologia di problema (che poi in questo caso specifico sei certo risolverebbe?)

    in questo campo aggiungere anche solo un pugno di kb non pienamente giustificato va ben ponderato

    quel riquadro punteggiato e' utile nel caso ci si muova via tab, e' utile ad utenti con dispositivi diversi dal classico browser (per es. privi di puntatore) e non andrebbe rimosso

    se nonostante questo vuoi rimuoverli si tratta di lavorare con i css, in linea
    <area ... style="outline-style:none;">
    oppure, in un css esterno
    area {
    outline-style:none;
    }

  6. #6
    Grazie mille Xinod hai risolto il mio problema.
    Li dovevo proprio togliere perchè l'immagine è una cartina geografica che al passaggio del mouse illumina la zona prescelta e se poi vi si clicca sopra deve aprire la relativa pagina; per questo, avendo già un cambiamento di immagine associato all'evento onMouseOver, è meglio non far vedere la retinatura.
    Di nuovo 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 © 2025 vBulletin Solutions, Inc. All rights reserved.