I make the menu drop-down list. It should be possible to edit the text of the menu field (its name).

<ul class="cd-accordion-menu animated"> <li class="has-children"> <input type="checkbox" name ="group-1" id="group-1" checked> <label for="group-1" id="t1" >Group 1</label> 

If you add the property contenteditable for a label , the menu does not expand. What methods can implement the necessary functionality?

all code:

 jQuery(document).ready(function(e) { var accordionsMenu = $('.cd-accordion-menu'); if (accordionsMenu.length > 0) { accordionsMenu.each(function() { var accordion = $(this); accordion.on('change', 'input[type="checkbox"]', function() { (checkbox.prop('checked')) ? checkbox.siblings('ul').attr('style', 'display:none;').slideDown(300): checkbox.siblings('ul').attr('style', 'display:block;').slideUp(300); } }); }); } 
 *, *::after, *::before { box-sizing: border-box; } html { font-size: 62.5%; } body { font-size: 1.6rem; font-family: "Jaldi", sans-serif; color: #ffffff; background-color: #a0f6aa; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } a { color: #a0b0f6; text-decoration: none; } h1 { text-align: center; width: 90%; margin: 2em auto 0; font-size: 2.4rem; color: #507b55; font-weight: bold; } @media only screen and (min-width: 600px) { h1 { font-size: 3.2rem; } } input { font-family: "Jaldi", sans-serif; font-size: 1.6rem; } .cd-accordion-menu { width: 90%; max-width: 600px; background: #4d5158; margin: 4em auto; box-shadow: 0 4px 40px #70ac76; } .cd-accordion-menu ul { display: none; } .cd-accordion-menu li { -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } .cd-accordion-menu input[type=checkbox] { position: absolute; opacity: 0; } .cd-accordion-menu label, .cd-accordion-menu a { position: relative; display: block; padding: 18px 18px 18px 64px; background: #4d5158; box-shadow: inset 0 -1px #555960; color: #ffffff; font-size: 1.6rem; } .no-touch .cd-accordion-menu label:hover, .no-touch .cd-accordion-menu a:hover { background: #52565d; } .cd-accordion-menu label::before, .cd-accordion-menu label::after, .cd-accordion-menu a::after { content: ''; display: inline-block; width: 16px; height: 16px; position: absolute; top: 50%; -webkit-transform: translateY(-50%); -moz-transform: translateY(-50%); -ms-transform: translateY(-50%); -o-transform: translateY(-50%); transform: translateY(-50%); } .cd-accordion-menu label { cursor: pointer; } .cd-accordion-menu label::before, .cd-accordion-menu label::after { background-image: url(../img/cd-icons.svg); background-repeat: no-repeat; } .cd-accordion-menu label::before { left: 18px; background-position: 0 0; -webkit-transform: translateY(-50%) rotate(-90deg); -moz-transform: translateY(-50%) rotate(-90deg); -ms-transform: translateY(-50%) rotate(-90deg); -o-transform: translateY(-50%) rotate(-90deg); transform: translateY(-50%) rotate(-90deg); } .cd-accordion-menu label::after { left: 41px; background-position: -16px 0; } .cd-accordion-menu a::after { left: 36px; left: 6px; } .cd-accordion-menu input[type=checkbox]:checked+label::before { -webkit-transform: translateY(-50%); -moz-transform: translateY(-50%); -ms-transform: translateY(-50%); -o-transform: translateY(-50%); transform: translateY(-50%); } .cd-accordion-menu input[type=checkbox]:checked+label::after { background-position: -62px 0; } .cd-accordion-menu input[type=checkbox]:checked+label+ul, .cd-accordion-menu input[type=checkbox]:checked+label:nth-of-type(n)+ul { display: block; } .cd-accordion-menu ul label, .cd-accordion-menu ul a { background: #35383d; box-shadow: inset 0 -1px #41444a; padding-left: 82px; } .no-touch .cd-accordion-menu ul label:hover, .no-touch .cd-accordion-menu ul a:hover { background: #3c3f45; } .cd-accordion-menu>li:last-of-type>label, .cd-accordion-menu>li:last-of-type>a, .cd-accordion-menu>li>ul>li:last-of-type label, .cd-accordion-menu>li>ul>li:last-of-type a { box-shadow: none; } .cd-accordion-menu ul label::before { left: 36px; } .cd-accordion-menu ul label::after, .cd-accordion-menu ul a::after { left: 59px; } .cd-accordion-menu ul ul label, .cd-accordion-menu ul ul a { padding-left: 100px; } .cd-accordion-menu ul ul label::before { left: 54px; } .cd-accordion-menu ul ul label::after, .cd-accordion-menu ul ul a::after { left: 77px; } .cd-accordion-menu ul ul ul label, .cd-accordion-menu ul ul ul a { padding-left: 118px; } .cd-accordion-menu ul ul ul label::before { left: 72px; } .cd-accordion-menu ul ul ul label::after, .cd-accordion-menu ul ul ul a::after { left: 95px; } @media only screen and (min-width: 600px) { .cd-accordion-menu label, .cd-accordion-menu a { padding: 24px 24px 24px 52px; font-size: 1.9rem; } .cd-accordion-menu label::before { left: 24px; } .cd-accordion-menu label::after { left: 53px; } .cd-accordion-menu ul label, .cd-accordion-menu ul a { padding-left: 76px; } .cd-accordion-menu ul label::before { left: 48px; } .cd-accordion-menu ul label::after, .cd-accordion-menu ul a::after { left: 77px; } .cd-accordion-menu ul ul label, .cd-accordion-menu ul ul a { padding-left: 100px; } .cd-accordion-menu ul ul label::before { left: 72px; } .cd-accordion-menu ul ul label::after, .cd-accordion-menu ul ul a::after { left: 11px; } .cd-accordion-menu ul ul ul label, .cd-accordion-menu ul ul ul a { padding-left: 124px; } .cd-accordion-menu ul ul ul label::before { left: 96px; } .cd-accordion-menu ul ul ul label::after, .cd-accordion-menu ul ul ul a::after { left: 125px; } } .cd-accordion-menu.animated label::before { -webkit-transition: -webkit-transform 0.3s; -moz-transition: -moz-transform 0.3s; transition: transform 0.3s; } 
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script> <ul class="cd-accordion-menu animated"> <li class="has-children"> <input type="checkbox" name="group-1" id="group-1" checked> <label for="group-1" id="t1">Group 1</label> <ul> <li class="has-children"> <input type="checkbox" name="sub-group-1" id="sub-group-1"> <label for="sub-group-1">Sub Group 1</label> <ul> <li><a>Text</a></li> <li><a>Text</a></li> </ul> </li> </ul> </li> <li class="has-children"> <input type="checkbox" name="group-2" id="group-2"> <label for="group-2">Group 2</label> <ul> <li><a>Text</a></li> <li><a>Text</a></li> </ul> </li> </ul> 

  • Give all the code, please. - Stepan Kasyanenko
  • @StepanKasyanenko added - konst1020
  • You have in the example code the error Uncaught SyntaxError: missing ) after argument list . - Stepan Kasyanenko

0