如何捕捉拖拽事件的任何结束?

时间:2015-01-21 08:03:52

标签: javascript jquery jquery-ui events javascript-events

问题:将元素设置为draggable。当用户完成拖动元素以将函数附加到它时,需要捕获所有情况。到目前为止,我使用mouseleavemouseup但仍然遗漏了一些案例。 这是代码:

            handleMaxEl
                .css('left', scope.max * rangeEl.width() / valuesNumber)
                .draggable({
                    containment: '.range-holder',
                    axis: 'x'
                })
                .on('drag', handlesHandler)
                .on('mouseup mounseleave', positionHandles);

任何帮助?

2 个答案:

答案 0 :(得分:2)

您可以使用可拖动stop回调,并在拖动停止时触发。

$( ".selector" ).draggable({
stop: function( event, ui ) {}
});

查看更多here

答案 1 :(得分:2)

 $( "#draggable" ).draggable({
      start: function() {
        counts[ 0 ]++;
        updateCounterStatus( $start_counter, counts[ 0 ] );
      },
      drag: function() {
        counts[ 1 ]++;
        updateCounterStatus( $drag_counter, counts[ 1 ] );
      },
      stop: function() {
        counts[ 2 ]++;
        updateCounterStatus( $stop_counter, counts[ 2 ] );
      }
    });

有拖拽,开始和停止的事件http://jqueryui.com/draggable/#events