Έχετε να κάνετε κλικ δύο φορές για να επεκτείνετε DropDownList σε ASP.NET

ψήφοι
2

Έχω κληρονομήσει ένα έργο ASP.NET 2.0 και ένα από τα πράγματα που έχω παρατηρήσει είναι ότι ο χρήστης έχει να κάνει κλικ μια dropdownlistδυο φορές για να το επεκτείνετε - γιατί είναι αυτό;

Αλληλουχία γεγονότων

  1. Το πρώτο κλικ με το να εστιάσετε έλεγχο και το δεύτερο θα το επεκτείνει.
  2. Η εφαρμογή χρησιμοποιεί τις σελίδες Δάσκαλος / Περιεχόμενο και είναι ενεργοποιημένη Ajax.

Μοιάζει με αυτό δεν συμβαίνει σε IE6, αλλά συμβαίνει σε IE7.

Δημοσιεύθηκε 09/12/2008 στις 17:39
πηγή χρήστη
Σε άλλες γλώσσες...                            


5 απαντήσεις

ψήφοι
1

Βρέθηκαν αυτό και ταξινομημένο το (προς το παρόν).

Το πρόβλημα ήταν να προκληθεί από μια λειτουργία JavaScript η οποία εισήχθη από ένα UserControl και ήταν προσθέτοντας styling στους DropDownLists. Γιατί αυτό δεν έγινε στο CSS Δεν έχω ιδέα (αλλά θα είναι σύντομα), αλλά σχολιάζοντας την παρακάτω λειτουργία λυθεί το πρόβλημά μου:

    function inputOnFocus(objInput)
    {
        objInput.style.backgroundColor = sHighLightBgColor;
        objInput.style.border = sBorderHighlight;

        //objInput.className = "inputOnFocus";
        sIDWithFocus = objInput.id;
    }

Δεν είμαι βέβαιος πώς / γιατί αυτό που εφαρμόζεται σε ορισμένες DDLs και όχι τους άλλους, αλλά προς το παρόν (με την επίδειξη του πελάτη έρχεται) εγώ δεν ενδιαφέρονται πραγματικά - θα σκάψει σε ότι όταν έχω την ευκαιρία.

Χάρη @LFSR Consulting, @Scott Evernden και @kogus για τη συμβολή σας.

Απαντήθηκε 10/12/2008 στις 12:53
πηγή χρήστη

ψήφοι
0

Ξέρω ότι είμαι απόσπαση σε ένα παλιό νήμα? Ωστόσο, θα ήθελα να μοιραστώ δύο σεντ μου σε αυτό, δεδομένου ότι μπορεί να βοηθήσει κανέναν στο μέλλον.

Ήμουν πρόσφατα εργαζόταν σε ένα γρήγορο μορφή και ήθελε να τονίσει όλα τα πεδία που ένας χρήστης θα πάει να με κίτρινα, και προφανώς πάει πίσω στο λευκό, όταν χάθηκε η εστίαση.

Χωρίς να υπεισέλθουμε σε κώδικα, αφού εγώ δεν δουλεύω με ASP.NET, μόνο το τμήμα javascript ... ό, τι έκανα για να διορθωθεί αυτό ήταν να δημιουργήσει ένα άλλο γεγονός για onmousedown. Με απλά με το τμήμα onFocus θα οδηγήσει σε μένα να πρέπει να κάνετε κλικ δύο φορές σε ένα αναπτυσσόμενο πλαίσιο. Μόλις για να ρυθμίσετε την εστίαση, ένα άλλο για να κάνετε κλικ και να απαριθμήσει τα στοιχεία. Με την προσθήκη του onmousedown λειτουργία, τότε επιτρέπεται αλλάζει χρώμα μου να λάβει χώρα κατά κλικ, καθώς και μια καρτέλα ή άλλη μορφή μετατόπιση εστίασης.

Φυσικά, δεν υπάρχει καμία ανάγκη να έχουμε μια αντίστοιχη, όπως η onblur φρόντισε αυτό (το αντίστοιχο του onFocus).

Απαντήθηκε 29/03/2010 στις 21:13
πηγή χρήστη

ψήφοι
0

Εάν χρησιμοποιείτε IE7 και τη χρήση του κειμένου onFocus για αυτά τα κατεβάζει πτώση ρίξτε μια ματιά σε αυτό:

http://forums.asp.net/p/1049119/1479078.aspx#1479078

Διαφορετικά, μπορεί να σας προτείνω να ρίξουμε μια ματιά σε:

  • είναι μια κλήση που γίνεται στο διακομιστή onFocus, όπου IsPostBack δεν αντιμετωπίζεται σωστά στο Page_Load;
  • εφιστά ένα κενό για οποιεσδήποτε άλλες ιδέες ...

    Μπορείτε να ρίξει κάποιο κώδικα έτσι μπορούμε να ρίξουμε μια ματιά;

  • Απαντήθηκε 09/12/2008 στις 18:17
    πηγή χρήστη

    ψήφοι
    0

    Δεν ξέρω αν αυτό είναι η καλύτερη λύση και δεν το έχω δοκιμάσει .. αλλά πώς για setfocus σε onload () για τον έλεγχο στην ερώτηση;

    Απαντήθηκε 09/12/2008 στις 18:02
    πηγή χρήστη

    ψήφοι
    -1

    Είναι τα στοιχεία drop-down που κατοικείται σε περίπτωση on-drop-down; Αν ναι, μια εύκολη λύση θα ήταν να θέσει την κατάσταση DroppedDown σε True στο τέλος του φορτίου δεδομένων.

    Απαντήθηκε 09/12/2008 στις 18:19
    πηγή χρήστη

    Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more