如何处理resize事件

时间:2011-03-23 01:47:08

标签: jquery jquery-ui resizable

我需要知道当前正在向东或向西拖动的句柄。

$("#mydiv").resizable({
    handles: 'e, w',
    resize: function(event, ui) {
        // to do: get active handle
    }

任何帮助将不胜感激。谢谢。

6 个答案:

答案 0 :(得分:7)

jquery有类,它运行得太慢,只需使用

if(ui.position.left != ui.originalPosition.left) //for west resize

那么你可以知道东西方的大小已经调整

答案 1 :(得分:5)

$( '#mydiv' ).resizable({
    resize: function( event, ui ) {
        // this will return direction as "n", "e", "s", "se" etc.
        var $direction = $( this ).data( 'resizable' ).axis;
    }
});

答案 2 :(得分:2)

检查事件对象:

var west = $(event.srcElement).hasClass('ui-resizable-w');

答案 3 :(得分:2)

比这更容易,只需获取事件的目标(触发事件的DOM元素)

$(event.target)

答案 4 :(得分:0)

这对我有用:(可调整大小的开始事件)

if (e.toElement.className.indexOf("ui-resizable-w") >= 0) {
  console.log('west');
} else if (e.toElement.className.indexOf("ui-resizable-e") >= 0) {
  console.log('east');
}

答案 5 :(得分:0)

这适用于jQuery UI v1.11.4

$(event.target).data('uiResizable').axis