【发布时间】:2019-01-02 02:52:37
【问题描述】:
我正在为我的网络应用程序使用 angularJS,我需要编写一个包含拖动操作的组件。当我试图完成这个目标时,我发现很难控制指针周围的拖动效果,因为它不是一个真实的元素,而是一个图像剪切(我假设)。目前,拖动图像是被拖动元素的副本,包含悬停效果,甚至具有来自其父元素的白色背景。 (我剪了两张图显示在下面)
那么如何用css或者js修改拖拽效果呢?
我为触发dragstart事件时被拖动的元素添加了一个类“is-dragging”,并更改了被拖动元素的样式。但是拖动的图像保持不变。
html
<div ng-if="current == -1" class="form-library">
<div ng-repeat="(key, item) in formMap"
class="form-type-items"
ng-class="{'is-dragging': dragInfo.type == 'add' && key == dragInfo.data.type}"
draggable="true"
ng-dragstart="onDragStart($event, key)"
ng-dragend="onDragEnd($event)">
<div class="form-type-icon">
<i class="{{'iconfont icon-'+item.icon}}"></i>
</div>
<span class="form-type-name">{{ item.name }}</span>
</div>
</div>
scss
&:hover {
.form-type-name {
color: $brand-color-1;
}
.form-type-icon {
.iconfont {
color: $brand-color-1;
}
}
}
&.is-dragging {
opacity: 0.36;
background-color: transparent;
.form-type-name {
color: $gray-2;
}
.form-type-icon {
.iconfont {
color: $gray-2;
}
}
}
【问题讨论】:
标签: javascript angularjs html drag-and-drop