[英]Custom expand/collapse menu list collapses when clicking on list items
我在css
和javascript
制作了一個自定義展開/折疊列表。 這是我的代碼:
componentDidMount() {
var togglerCons = document.getElementsByClassName("caretCons");
var c;
for (c = 0; c < togglerCons.length; c++) {
togglerCons[c].addEventListener("click", function() {
this.parentElement
.querySelector(".nestedCons")
.classList.toggle("activeCons");
this.classList.toggle("caretCons-down");
});
}
<li className="caretCons">
<Link to={"/ConsignmentList"}>
<span
onClick={() =>
this.props.updateTypeOfConsignmentList("general")
}
>
{content[lang].consignmentlist}
</span>
</Link>
<ul className="nestedCons">
<li onClick={this.getConsPerDepot}>
{content[lang].consPerDepot}
</li>
<li onClick={this.getExpectedCons}>
{content[lang].expected}
</li>
<li onClick={this.getAssignedCons}>
{content[lang].assigned}
</li>
<li onClick={this.getUnassignedCons}>
{content[lang].unassigned}
</li>
</ul>
</li>
}
結果如下: https : //i.stack.imgur.com/jlBzT.png
單擊“寄售清單”時會發生以下情況: https : //i.stack.imgur.com/07oPN.png
一切都如預期的那樣,直到這里。 問題是,當用戶單擊寄售清單(預期、已分配等)下的一個列表項時,該列表會折疊並變得像第一張照片。 我想要的是當用戶單擊列表項時列表保持展開而不折疊。 只有當用戶點擊插入符號(小三角形)時,它才應該折疊。
這是css
.caretCons {
cursor: pointer;
-webkit-user-select: none; /* Safari 3.1+ */
-moz-user-select: none; /* Firefox 2+ */
-ms-user-select: none; /* IE 10+ */
user-select: none;
}
.caretCons::before {
content: "\25B6";
color: black;
display: inline-block;
margin-right: 6px;
}
.caretCons-down::before {
-ms-transform: rotate(90deg);
-webkit-transform: rotate(90deg);
transform: rotate(90deg);
}
.nestedCons {
display: none;
}
.activeCons {
display: block;
}
任何幫助將不勝感激。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.