【发布时间】:2016-11-16 11:26:11
【问题描述】:
我正在使用“拖放列表”(http://marceljuenemann.github.io/angular-drag-and-drop-lists/demo/#/simple)。
默认行为是单击并拖动<li> 元素上的任意位置会导致<li> 移动。
有没有办法限制这种行为,以便用户需要点击<li> 的特定子元素?
我设置了一个 plunkr (http://plnkr.co/edit/6mOkqRuY4aXY3NUE5W7F?p=preview),其中每个 <li> 包含两个 div,因此:
<ul dnd-list="models.lists.A">
<li ng-repeat="item in models.lists.A"
dnd-draggable="item"
dnd-moved="models.lists.A.splice($index, 1)"
dnd-effect-allowed="move"
dnd-selected="models.selected = item"
ng-class="{'selected': models.selected === item}">
<div class="theheader">A header</div>
<div class="thebody">{{item.label}}</div>
</li>
</ul>
我想将 click'n'drag 行为仅限于 theheader div,如果我单击 thebody div,则不会发生任何事情。
(原因是在我的实际项目中,我在<li> 中有编辑框,如果您单击编辑框并拖动以选择编辑框内容,您最终会移动整个<li> -糟糕的用户体验!)
【问题讨论】:
标签: javascript angularjs drag-and-drop