2017-10-14 184 views
1

我在Angular 4中創建了我自己的自定義材質設計滑塊,並且我已經到了一個點,如果我拖動它的滑塊拇指它會移動,但在mouseup上它將恢復到原始位置。如何阻止拖動恢復到原始位置

我閱讀了dragEvents,但由於可拖放區域與我拖動的對象完全相同,我似乎無法找到解決方案使其停止恢復到原始位置。

您可以使用此網址複製這種行爲,因爲它是足夠的代碼,使頁面長

https://stackblitz.com/edit/angular-1ndu2t

回答

0

添加dragend處理程序將修復它:

this.slider.addEventListener('dragend', this.onDrag.bind(this), false); 

當你添加一個日誌到你的事件監聽器,當你放開鼠標時,你看到x(和y)是負的,但是由於dragend會給出正確的值作爲它修復問題的最後一個:

onDrag(event: DragEvent) { 
    console.log(event.x); 
    this.updateValueFromPosition({ x: event.x, y: event.y }); 
} 
相關問題