2011-03-23 63 views
3

我需要知道當前正在拖動的東西或東西。如何獲取調整大小的事件

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

任何幫助,將不勝感激。謝謝。

+0

檢查'event'對象。 – alex 2011-03-23 01:58:46

+0

我有,但沒有找到,你能幫忙嗎? – 2011-03-23 02:03:59

+0

@alex回答,無論如何。 – 2011-03-23 02:09:59

回答

2

檢查活動對象:

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

謝謝,BStruthers。 – 2011-03-23 02:10:22

+2

這不適用於Firefox 20,其中event.srcElement是未定義的。在Firefox 20中,'e.originalEvent.target'確實可行,但不可靠(通常會返回可拖動元素下方的元素)。 – Blaise 2013-04-04 13:24:51

+0

在Firefox中使用e.target而不是e.srcElement – rilar 2014-02-06 13:02:27

7

與jQuery擁有一流的它工作得太慢,只使用

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

那麼你就可以知道向東或向西進行調整

2

它比更容易只需獲取事件的目標(這是觸發事件的DOM元素)

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

'$(this).data('uiResizable')。axis'對我有效 – UnLoCo 2014-12-18 10:10:16

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'); 
} 
0

這對我的作品在jQuery用戶界面v1.11.4

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