Я использую модуль ng2-dnd для реализации сортировки списка. Сортировка и перетаскивание работает отлично, за исключением того, что пользователь должен перетащить, нажав на текст моего элемента.
Я бы хотел, чтобы пользователь мог перетаскивать текст или перетаскивать синие стрелки. (Было бы хорошо, если бы они тоже могли перетаскивать флажок, пока щелчок все еще проверяет / снимает флажок)
Есть ли способ применить перетаскивание к фоновым изображениям? Если нет, как еще я могу добиться такого поведения?
![example](https://i.stack.imgur.com/HyAO6.png)
Вот HTML-код, который я использую:
<ul dnd-sortable-container [sortableData]="coordinateSystems" class="coordinateOptionsList">
<li *ngFor="let coordOption of coordinateSystems; let i = index" dnd-sortable [sortableIndex]="i">
<input type="checkbox" name="cbx{{coordOption.displayName}}" id="cbx{{coordOption.displayName}}" class="css-checkbox" [(ngModel)]="coordinateSystems[i].active">
<label for="cbx{{coordOption.displayName}}" class="css-label-sortable">Use {{coordOption.displayName}} Coordinates</label>
<br /><br />
<div class="clear"></div>
</li>
</ul>
И CSS:
input[type=checkbox].css-checkbox {
position: absolute;
z-index: -1000;
left: -1000px;
overflow: hidden;
clip: rect(0 0 0 0);
height: 1px;
width: 1px;
margin: -1px;
padding: 0;
border: 0;
}
input[type=checkbox].css-checkbox + label.css-label-sortable {
padding-left: 44px;
height: 17px;
display: inline-block;
line-height: 19px;
background-repeat: no-repeat;
font-size: 15px;
vertical-align: middle;
cursor: pointer;
float: left;
margin: 10px 0 0 0;
color: #666666;
}
input[type=checkbox].css-checkbox:checked + label.css-label-sortable {
background-position: 0 0, 22px -17px;
}
label.css-label-sortable {
background-image: url(../images/nud.png), url(../images/checkbox.svg);
background-position: 0 0, 22px 0;
}