2011-03-23 2 views
3

현재 핸들이 동쪽 또는 서쪽으로 끌리고 있는지 알아야합니다.크기 조정 이벤트에서 핸들을 얻는 방법

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

어떤 도움을 주시면 감사하겠습니다. 고맙습니다. jQuery로

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

에 나를 위해 작동합니다. – alex

+0

나는 찾았지만 찾지 못했습니까? –

+0

@alex가 대답했습니다. 어쨌든 고마워요. –

답변

2

는 이벤트 객체를 검사 즉, 이벤트 대상 (이벤트를 트리거 한 DOM 요소)을 가져 오십시오.

+0

고마워, BStruthers. –

+2

Firefox 20에서는 event.srcElement가 'undefined'인데이 기능은 작동하지 않습니다. 파이어 폭스 20에서는 'e.originalEvent.target'가 작동하지만 믿을 수 없을 정도로 (종종 draggable 아래의 요소를 반환합니다). – Blaise

+0

Firefox에서 e.srcElement 대신 e.target을 사용하십시오. – rilar

7

는 너무 느리게 작동하는 클래스가, 단지

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

다음 동쪽 또는 서쪽

2

이보다 쉽게 ​​크기를 조정할되었다 알 수 사용

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

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

이것은`event` 개체를 검사 jQuery를 UI의 v1.11.4

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