当我拖动并释放单击时,我遇到了一些问题,该事件似乎没有停止其传播,因为“问题 #54 - 修复:在拖放后立即阻止单击传播”说。
我无法在 2.0.0-beta.3 中重现。 你能给我repro步骤吗?
你好! 谢谢你的回答。 我正在尝试滚动浏览“divs”元素,也许这不是正确的方法。
这是代码:
<drag-scroll class="drag-scroll center" #dragScroll scrollbar-hidden='true' drag-scroll-y-disabled='true' snap-disabled='true'>
<div drag-scroll-item *ngFor="let ah of article_list">
<col-article [article]="ah"></col-article >
</div>
</drag-scroll>
我只单击图像,拖动它,但是当我释放它时,它只是将我重定向到图像链接。 还有另一种可能添加“dragend”事件吗?
滚动简单图像和“divs”元素之间有什么区别吗? 该模块的其余部分工作正常,这是一项非常好的工作。
我一直在尝试在演示中重现该问题,并且当拖动项目是链接时会发生这种情况。 例如,在演示中,如果您将任何图像从
<img _ngcontent-c6="" src="assets/img/c3po.png">
到
<a href="http://anyurl.com"><img _ngcontent-c6="" src="assets/img/c3po.png"></a>
它与我的项目具有相同的行为。
我希望它有帮助,问候!
为了避免这个问题,我在我的代码中进行了轻微的处理。
html:
`
<div dragScroll (reachesLeftBound)="leftBoundStat($event)" (reachesRightBound)="rightBoundStat($event)" #nav >
<div class=" slide-mes" *ngFor="let item of items " (click)="doAny(item)" >
</div>
</div>
`
打字稿:
`
@ViewChild('nav', {read: DragScrollDirective}) ds: DragScrollDirective;
clickEnable = true;
constructor( ) {
}
@HostListener('mousedown', ['$event'])
onMousedown(event) {
this.clickEnable = true
}
leftBoundStat(reachesLeftBound: boolean) {
this.leftNavDisabled = reachesLeftBound;
this.clickEnable = false;
}
rightBoundStat(reachesRightBound: boolean) {
this.rightNavDisabled = reachesRightBound;
this.clickEnable = false;
}
doAny(item){
if(this.clickEnable){
//do what you whant on click here
}
}
`
嗨吉尔赫姆! 感谢您的回答! 当您没有达到任何界限时,这是否有效? 因为在我的实现中,我有很多 iitems 需要滚动,并且当我在它中间释放点击时它会传播,例如,而不是在边界中,并且只有当你到达其中一个时才会产生边界事件(左或对)。
滚动 div 时会产生 bounds 事件,在其中放置一个 console.log 来查看。
谢谢! 有效! 但是我也必须调整所有子组件来监听鼠标事件。这就是为什么我在模块本身中要求该功能。
嗨@leogilardi6 ,很抱歉回复晚了。 我被工作淹没了。
我尝试将https://github.com/bfwg/ngx-drag-scroll/blob/develop/demo/app/home/home.component.html#L4 -L12 更改为
<drag-scroll class="demo-one"
drag-scroll-y-disabled="true"
scrollbar-hidden="true"
(reachesLeftBound)="leftBoundStat($event)"
(reachesRightBound)="rightBoundStat($event)"
#nav
>
<a drag-scroll-item *ngFor="let image of imagelist" href="https://www.google.com"><img [src]="'assets/img/' + image" (click)="clickItem(image)"/></a>
</drag-scroll>
但我无法在 2.0.0-beta.3 版本中重现
你试过玩最新版本吗?