2012-02-29 2 views

답변

4

모든 jQueryUI 이벤트 콜백 인수로 event을 제공하기 위해

$(ui).offset() 

이 재미있을 수는

$(".selector").selectable({ 
    stop: function(event, ui) { 
     alert(event.pageX) ; 
    } 
}); 

jQueryUI과 좋은 학습 트릭 기록하는 것입니다 eventui 몇 가지 이벤트에 콘솔. 특히 ui. 함께 일할 수있는 좋은 느낌을줍니다.

0

이 줄을 따라 가면 어떨까요?

var curX = 0; 
var curY = 0; 

$(document).mousemove(function(e) 
{ 
    curX = e.pageX; curY = e.pageY; 
}); 

$(".selector").selectable({ 
    stop: function(event, ui) { console.log(curX+"/"+curY); } 
}); 

도 : look at.

0

도움이 될만한가? console.log (e)를 사용하면 다른 두 답변에 추가하면 이벤트에 대한 많은 정보를 찾을 수 있습니다. 그리고 정보를 살펴보면 pageX 및 pageY 정보가 originalEvent에 저장된다는 것을 알았습니다. 당신이 항목을 선택하고 요소를 열어 크롬 개발자 도구를 가지고 볼 때, 사업부가의 상단과 왼쪽 위치를 계산 'UI를 선택할 수있는 헬퍼'의 클래스에 추가됩니다 또한

    console.log(e.originalEvent.pageX); 
        console.log(e.originalEvent.pageY); 

, 당신의 마우스.

1

지난 달에 jquery로 마우스 위치를 확인하고 마우스 오버를 쉽게 할 수있는 확실한 방법이 필요하다고 결정했습니다. 아래 코드는 제가 사용하는 코드이며 여러분의 문제를 해결할 것이라고 생각합니다.

var mouse = { 
    mouseX: null, 
    mouseY: null, 
    init: function() { 
     $(document).bind('mousemove', function(event) { 
      mouse.mouseX = event.pageX; 
      mouse.mouseY = event.pageY; 
     }); 
    }, 
    isOver: function($element) { 
     $elementPosition = $($element).offset(); 
     $elementWidth = $($element).width(); 
     $elementHeight = $($element).height(); 
     $returnValue = true; 
     if (mouse.mouseX !== null) { 
      if (mouse.mouseX < $elementPosition.left) { $returnValue = false; } 
      if (mouse.mouseY < $elementPosition.top) { $returnValue = false; } 
      if (mouse.mouseX > $elementPosition.left + $elementWidth) { $returnValue = false; } 
      if (mouse.mouseY > $elementPosition.top + $elementHeight) { $returnValue = false; } 
     } 
     return $returnValue; 
    } 
} 

당신은 당신이 현재 마우스가 언제든지 좌표를 얻을 수있는 마우스가 쉽게 특정 요소 위에있는 경우 찾을 수 domready에 초기화를 해고해야합니다.

// Init 
jQuery(document).ready(function() { 
    mouse.init(); 
}); 

//Getting Positions 
var mouseX = mouse.mouseX; 
var mouseY = mouse.mouseY; 

// Determining Mouseover 
if (mouse.isOver($('#elementId'))) { 
    alert('Is over'); 
} 
+0

좋은 코드이지만 OP가 jQuery UI 선택 가능 이벤트에서 수행하는 방법을 묻습니다. –

관련 문제