Я пытаюсь создать аккордеон Bootstrap, используя Knockout foreach
с редактируемым заголовком. При двойном щелчке по имени аккордеона имя должно стать полем ввода (вероятно, не лучшая идея для этого), которое должно сохранять изменения при вводе щелчка или щелчке за пределами этой области (изменение фокуса). Моя проблема в том, что когда пользователь дважды щелкает имя, чтобы отредактировать его, панель расширяется и сворачивается, а некоторым трудно редактировать.
<div class="col-lg-12 panel m-t-5 panel-group" id="mAccordion">
<div class="panel panel-default" data-bind="foreach:{ data: selectedItemM, as: 'mod'}">
<div class="panel-heading ui-sortable-handle" style="border-color:black; background-color:black; margin-bottom: 2px" data-bind="visible:!IsDeleted()">
<i class="fas fa-trash-alt pull-right" style="color:red; cursor:pointer" data-bind="event:{'click':$root.deleteM}"></i>
<a class="accordion-toggle accordion-inner" style="color:#fff; text-decoration:none;cursor:pointer;" data-bind="attr:{href:'#mPanelBody_'+Id}" data-toggle="collapse" data-parent="#modAccordion">
<h4 class="panel-title" data-bind="attr:{id:'header_'+Id}, text: Name, event:{'dblclick':$root.editM}" style="color:white;cursor: pointer; width:30%"></h4>
<input type="text" class="panel-title" data-bind="attr:{id:'input_'+Id}, textInput: Name,valueUpdate: 'afterkeydown', event:{keypress:$root.renameM}" style="color:white;display:none; background-color:black; width:30%;" />
</a>
</div>
<div class="panel-collapse accordion-sub collapse" data-bind="attr:{id:'mPanelBody_'+Id}, visible:!IsDeleted()"></div>
</div>
</div>
Можно сделать так, чтобы имя аккордеона редактировалось двойным щелчком (или простым щелчком), ничего не делая с аккордеоном (разворачивая или сворачивая), и разворачивать или сворачивать его, просто щелкнув за пределами области имени, на пустом месте. из заголовка?