Ich versuche, ein Akkordeon zu verwenden und ein Kontrollkästchen innerhalb einer Kopfzeile zu haben. Wenn ich jedoch auf ein Kontrollkästchen in einem Akkordeon-Header klicke, wird das Akkordeon minimiert. Gibt es eine Möglichkeit, auf das Kontrollkästchen zu klicken, ohne dass das Akkordeon erweitert/minimiert wird?Mit einem anklickbaren Element in einem Bootstrap-Akkordeon-Header
Antwort
Sie haben die Checkbox setzen außerhalb des Akkordeon-Toggle aber innerhalb der Akkordeon-Position Klasse, dh
<div class="accordion-heading">
<input type="checkbox" name="box"/>
<a class="accordion-toggle" data-toggle="collapse" data-parent="#accordionParent" href="#collapseone">
<p>Heading1</p>
</a>
</div>
und fügen Sie die CSS .accordion-heading a.accordion-toggle { display: inline-block; }
Der Klick Blasen bis zum Akkordeon-Header, so ist eine andere Möglichkeit (neben dem Bewegen des Kontrollkästchens außerhalb des Toggels, wie von anderen vorgeschlagen), das Blubbern zu stoppen.
Verwenden Sie einige JQuery wie:
$("input[type=checkbox]").on("click", function(event) {
event.stopPropagation();
});
oder mit einer kürzeren Checkbox Selektor:
$(":checkbox").on("click", function(event) {
event.stopPropagation();
});
gibt es einen eckigen Weg, das Gleiche zu tun? – ram
Ich bin ein bisschen spät, aber es gibt einen Weg: '' ng-click = "$ event.stopPropagation()" '' –
Für ein ui-Bootstrap-Akkordeon-Element, müssen Sie zwei Dinge tun. 1) Sie müssen die Akkordeongruppenvorlage überschreiben, um div-Elemente anstelle von Anchor-Elementen zu verwenden, und fügen cursor: pointer in Ihrem CSS hinzu. Dies liegt daran, dass Browser Ankerelemente als Ziel eines Klickereignisses interpretieren, das das Routing auslöst, wenn bestimmte Elemente wie Schaltflächen im Ankerelement verschachtelt sind.
<script type="text/ng-template" id="group-template.html">
<div role="tab" id="{{::headingId}}" aria-selected="{{isOpen}}" class="panel-heading" ng-keypress="toggleOpen($event)">
<div class="panel-title">
<div style="cursor:pointer;" data-toggle="collapse" href aria-expanded="{{isOpen}}" aria-controls="{{::panelId}}" tabindex="0" class="accordion-toggle" ng-click="toggleOpen()" uib-accordion-transclude="heading" ng-disabled="isDisabled" uib-tabindex-toggle><span uib-accordion-header ng-class="{'text-muted': isDisabled}">{{heading}}</span></div>
</div>
</div>
<div id="{{::panelId}}" aria-labelledby="{{::headingId}}" aria-hidden="{{!isOpen}}" role="tabpanel" class="panel-collapse collapse" uib-collapse="!isOpen">
<div class="panel-body" ng-transclude></div>
</div>
</script>
Dann müssen Sie Vorlage für das Gruppenelement Akkordeon verwenden.
<div uib-accordion-group template-url="group-template.html"
is-open="isOpen" ng-init="isOpen = true"
ng-repeat="q in qs">
2) Zweitens, was Sie es s stop propagation click event on inner element of header if you don
t zu tun haben wollen, dass es Ihr Akkordeon zusammenbrechen. Üblicherweise sind es Eingabeelemente oder Schaltflächen.
<uib-accordion-heading ng-click="isOpen = !isOpen">
<lable>Title</lable>
<input required ng-click="$event.stopPropagation()"/>
<button ng-click="doSomething;$event.stopPropagation();">
</uib-accordion-heading>
- 1. Wie die Unterstreichung in einem spannbaren String mit einem anklickbaren Objekt loswerden?
- 2. Link innerhalb des Link-Problems: Platzieren eines Links in einem anklickbaren Element
- 3. Hinzufügen von nur einem anklickbaren Punkt zum Diagramm in Highcharts?
- 4. P5js mit einem div-Element hinter einem canvas-Element
- 5. Suche nach einem Element in einem Array mit jQuery.inArray()
- 6. letztes Element mit einem Klassennamen in einem div
- 7. Menü mit anklickbaren Bildern?
- 8. erhalten spezifisches Element in einem Element mit Mootools
- 9. Verstecken Sie ein Element in einem Element mit einer Klasse
- 10. alle Widgets in einem Element
- 11. Häufigstes Element in einem Array
- 12. Mit einem bestimmten untergeordneten Element mit Prototype
- 13. Wie wird ein Element in Laravel-Auflistung nach einem Element mit einem angegebenen Schlüssel eingefügt?
- 14. Bild mit vier anklickbaren Bereichen
- 15. wie eine neue Aktivität in Android Studio mit einem anklickbaren Text verknüpfen
- 16. Löschen Element mit einem bestimmten Wert aus einem Array
- 17. Wie CheckListBox Element mit einem einzigen Klick?
- 18. selektierende Element mit einem Raum separeted Worte
- 19. Python: Zip-Liste mit einem einzelnen Element
- 20. Return-Wörterbuch mit einem geänderten Element
- 21. Xpath nächstgelegenen Element zu einem bestimmten Element
- 22. Android ListView mit einem Element pro Seite
- 23. Zweitletztes Element in einem Array in C
- 24. xpath Filterelemente mit einem bestimmten Element
- 25. Scrollen Sie zu einem Element mit Winkelmesser
- 26. Größe der Struktur mit einem einzigen Element
- 27. Doppelter Rahmen mit nur einem Element
- 28. jQuery QuickFit - funktioniert nur mit einem Element
- 29. Dynamische Attribute auf einem Element Element react
- 30. jQuery: Element nach einem anderen Element hinzufügen
Versuchen Sie, diese CSS hinzuzufügen: .accordion-heading a.accordion-toggle {Anzeige: Inline-Block; } – scumah
Ah, danke! Ich habe meine Checkbox bewegt und jetzt ist es das, was ich wollte. –
Könnten Sie bitte etwas Code posten? Ich kann es nicht funktionieren. – foobar