2017-01-13 29 views
0

我想檢測靜態(無移動)元素上的拖動事件的方向。 從我搜索的內容中,他們使用元素將移動的jquery-ui draggable如何檢測左右移動限制?

這裏是我的嘗試(我用containment停止它的運動,但我就不能檢測拖拽的方向)

var prevX = -1; 
 

 
$('div').draggable({ 
 
    containment: "parent", 
 
    drag: function(e) { 
 
    //console.log(e.pageX); 
 
    if (prevX == -1) { 
 
     prevX = e.pageX; 
 
     return false; 
 
    } 
 
    
 
    // dragged left 
 
    if (prevX > e.pageX) { 
 
     alert('dragged left'); 
 
    } else if (prevX < e.pageX) { // dragged right 
 
     alert('dragged right'); 
 
    } 
 
    
 
    prevX = e.pageX; 
 
    } 
 
});
.wrapper { 
 
    width: 100px; 
 
    height: 100px; 
 
} 
 
.inside { 
 
    width: 100px; 
 
    height: 100px; 
 
    background-color: yellow; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script> 
 
<div class="wrapper"> 
 
    <div class="inside"></div> 
 
</div>

回答

0

使用dragstart用於保存啓動XY位置處,結束dragend比較