Überprüfen Sie, ob wählen, ist die Anzeige-Optionen

Habe ich folgenden HTML-code:

HTML:

<select>
<option selected>Test 1</option>
<option>Test 2</option>
<option>Test 3</option>
</select>

Wie kann ich überprüfen, ob die <option>s der <select> angezeigt werden? Zum Beispiel, dies wird als die <option>s der <select> angezeigt:

Überprüfen Sie, ob wählen, ist die Anzeige-Optionen

- Und dies ist zu berücksichtigen, dass <option>s der <select> werden nicht angezeigt:

Überprüfen Sie, ob wählen, ist die Anzeige-Optionen


Ich habe dies ausprobiert:

JS:

$("#myselect").on("click", function() {
    if ($("#myselect option").length == 0) {
        console.log("not displayed");
    } else {
        console.log("displayed");
    } 
});

HTML:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="myselect">
<option selected>Test 1</option>
<option>Test 2</option>
<option>Test 3</option>
</select>

Aber die Konsole meldet "angezeigt" die ganze Zeit.


Also, wie kann ich das erreichen?


EDIT 1:

Antworten Wie um zu überprüfen, ob ein select-element ist immer noch "offen" /aktiv mit jquery funktioniert nicht, weil wenn ich auf die select element, um die Optionen anzuzeigen, dann klicken Sie erneut, werden die Optionen nicht angezeigt werden, obwohl die select konzentriert sich immer noch.


EDIT 2:

Fall, ich war nicht griffig genug, im Grunde möchte ich die Konsole anmelden "angezeigt" oder "nicht angezeigt" klickt der Benutzer auf die select oder die options

  • möglich, Duplikat der Wie um zu überprüfen, ob ein select-element ist immer noch "offen" / aktiv mit jquery
  • Sie sind angezeigt, wenn die <select> element den Fokus hat, aber Sie wird noch existieren, wenn es nicht (es sei denn, Sie hinzufügen/entfernen Sie Sie mithilfe von JS-code...).
  • Die Antwort, es funktioniert nicht, da kann ich drücken Sie Escape, und wählen Sie immer noch im Mittelpunkt, auch wenn es nicht die Anzeige-Optionen
  • einverstanden w/ @AlejandroTeixeiraMuñoz - die 2. Antwort, der link ist vielversprechend
  • Recht, überprüfen Sie die zweite
  • Die 2. Antwort dreht sich um das gleiche Konzept auf die konzentrieren, die nicht arbeiten gehen... Check mein edit
  • dann eben mit klicken Sie auf?
  • Ich kann klicken Sie irgendwo auf das Dokument, um die trigger-Optionen nicht angezeigt werden. Gleiche für die Taste Escape. Und ich denke, es gibt viele viele andere Wege, um zu verbergen die Optionen, ohne zu klicken auf die select oder die options selbst.
  • check meine Antwort. Hinzufügen vielleicht die Escape-Taste Zustand ok sein?

InformationsquelleAutor chris97ong | 2015-06-09
Schreibe einen Kommentar