Verhindern wählen Sie Menü aus öffnen
Vielleicht eine dumme Frage, aber wie kann ich verhindern, dass ein select-element in ein Formular aus, zeigt seine drop-down-Menü, wenn es angeklickt wird? Ich habe versucht, die folgenden:
$('select').click (function (e) {
console.log (e);
return false;
});
und
$('select').click (function (e) {
e.preventDefault ();
console.log (e);
});
Aber weder gearbeitet.
Was mache ich falsch?
BEARBEITEN: Der Grund, warum ich brauche, um zu wissen, ist für ein jquery-enhanced select-element muss ordnungsgemäß beeinträchtigen. Die Idee ist, die auszuwählen, wenn geklickt haben, öffnet sich ein jquery UI dialog mit einem schön maked up-Liste, die der Benutzer trifft die Auswahl aus (klicken auf einen Listeneintrag bewirkt, dass die wählen Sie den Wert zu aktualisieren). Wenn JS deaktiviert ist, dann wählen Sie sollten nur arbeiten, wie normalerweise.
Das problem ist, dass, genauso wie das Dialogfeld öffnen in der dropdown auch angezeigt wird, das ist nicht das, was ich will. Ich kann nicht einfach deaktivieren Sie das Steuerelement, dessen Wert muss eingereicht werden, zusammen mit dem rest der form.
InformationsquelleAutor der Frage GordonM | 2011-11-30
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich glaube die beste Lösung wäre, ersetzen Sie die select-element mit etwas anderem, klicken Sie auf (Schaltfläche oder link).
BTW, möchten Sie vielleicht einen Blick in die CSS-3-Eigenschaft
appearance
die theoretisch erlaubt, Sie zu lassen, das Ersatz-element, die Aussehen wie ein dropdown. Unterstützung ist jedoch derzeit sehr begrenzt:InformationsquelleAutor der Antwort RoToRa
Sollte dies funktionieren:-
InformationsquelleAutor der Antwort Deniz Ozger
Aus meiner Erfahrung, wenn ich etwas deaktivieren, der einfachste Weg, um eine andere unsichtbare element (absolute Positionierung). Wenn Sie zulassen möchten, dass Standard-Verhalten wieder, Sie nur verstecken absoluten element.
InformationsquelleAutor der Antwort Simon
Das problem ist, dass Sie mit der falschen Veranstaltung.
JsFiddle
InformationsquelleAutor der Antwort Allenph
Ausblenden der Optionen auswählen, die beim laden der Seite (sofern Javascript aktiviert ist). Sie wird nicht angezeigt, wenn das Auswahlfeld geklickt, aber der text der ersten option ("option Wählen", oder was auch immer) noch angezeigt in dem Feld auswählen.
Aktualisierte Lösung:
InformationsquelleAutor der Antwort Nate Barr
Verwenden deaktiviert
InformationsquelleAutor der Antwort Gowri
Ich löste genau dieses problem, durch die Manipulation der "Größe" - Attribut von select. Nicht sehr elegant, aber funktioniert. Hoffe, eine Hilfe für Sie.
InformationsquelleAutor der Antwort Rohitesh
Können Sie, der trick ist, zu stornieren, die das mousedown-Ereignis nicht auf. Die Ereignis-Kette ist in einer Weise vorgenommen, klicken Sie auf und mouseup nicht auftreten, wenn mousedown abgebrochen wurde:
InformationsquelleAutor der Antwort Sebas