Ngx-drag-scroll: Распространение кликов

Созданный на 13 июл. 2018  ·  8Комментарии  ·  Источник: bfwg/ngx-drag-scroll

  • Я подаю...

    • [x] отчет об ошибке

    • [ ] запрос функции

    • [ ] запрос на поддержку => Пожалуйста, не отправляйте запрос на поддержку здесь, см. примечание в верхней части этого шаблона.

У меня возникают некоторые проблемы, когда я перетаскиваю и отпускаю щелчок, событие, похоже, не останавливает свое распространение, как говорится в «Проблеме № 54 - исправить: предотвратить распространение щелчка сразу после перетаскивания».

  • Версия: 1.8.2
  • Браузер: все настольные браузеры

Все 8 Комментарий

У меня не получается воспроизвести в 2.0.0-beta.3. Можете ли вы дать мне шаги воспроизведения?

Привет! Спасибо за ответ. Я пытаюсь прокрутить элементы "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"?

Есть ли разница между прокруткой простых изображений и элементов «div»? Остальная часть модуля работает правильно, и это действительно хорошая работа.

Я пытался воспроизвести проблему в демо, и это происходит, когда перетаскиваемый элемент является ссылкой. В демоверсии, например, если вы измените любое изображение из

<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
    }
}

`

Привет Гильерме! Спасибо за Ваш ответ! Это работает, когда вы не достигаете ни одной из границ? Потому что в моей реализации у меня есть много элементов для прокрутки, и они все равно распространяются, когда я отпускаю щелчок, например, в середине, а не конкретно в границах, и события границ создаются только тогда, когда вы достигаете одного из них ( левый или вправо).

события границ создаются, когда вы прокручиваете div, поместите в него 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

пробовали играть с последней версией?

Была ли эта страница полезной?
0 / 5 - 0 рейтинги