jQuery-wenn nicht klicken Sie
Ich bin der Erstellung einer select-box aus div-und span-tags so, dass ich einen styled box für iphones und ipads. Es funktioniert Super, aber sobald der Benutzer klickt auf das Kontrollkästchen und drop-down-Auswahl dargestellt werden, der einzige Weg, um zu entfernen Sie die Auswahl-Liste, wählen Sie entweder eine Auswahl, oder klicken Sie auf die selectbox selbst wieder. Ich bin auf der Suche nach einer Funktion, die dem schließen der Auswahl-Liste der Benutzer klickt auf etwas anderes auf der Seite, in der Liste (wenn die Liste geöffnet ist). Das ist meine Funktion, behandelt die Anzeige der option Liste
jQuery:
$(this).children('.selectedOption,.selectDropDownArrow').click(function(){
if($(this).parent().children('.selectOptions').css('display') == 'none'){
$(this).parent().children('.selectOptions').css('display','block');
} else {
$(this).parent().children('.selectOptions').css('display','none');
}
});
Nun brauche ich so etwas um, verarbeitet die Klicks auf andere Teile der website:
$('!.selectedOption,!.selectDropDownArrow').click(function() {
if (!$('.selectOptions').css('display','none')) {
$('.selectOptions').css('display','none');
}
});
Kennt jemand einen Weg dies zu erreichen?
InformationsquelleAutor Jack Sniper | 2014-01-14
Du musst angemeldet sein, um einen Kommentar abzugeben.
Da Sie das Umschalten der Sichtbarkeit versuchen, ändern Sie Ihre css-code zu verwenden, direkt
toggle
.Code:
Dann verwenden
:not
um alles auszuwählen, aber nicht Ihren Klassen undhide
.Code:
UPDATE
Wenn Sie auf klicken und element der Veranstaltung ist sprudelte seine Vorfahren, in den Fall wird das element ausgeblendet werden, indem Sie die Allgemeinen ausblenden hf.
Um dies zu vermeiden, verwenden Sie
stopPropagation
.Ref:
Code:
Demo: http://jsfiddle.net/IrvinDominin/eb9wj/
Prabably es ein event-propagation-Problem, überprüfen Sie die update
InformationsquelleAutor Irvin Dominin
Verwenden:not()
InformationsquelleAutor kei