2013-05-09 4 views
0

다음 함수를 호출하는 코드가 있습니다. 그러나이 함수는 Mouse Up 이벤트에서만 호출되기를 바랍니다.마우스를 올려 놓은 다음 함수를 호출하면

positionMenu : function(){ 
     if (positionMenuInvalidated) return; 
     positionMenuInvalidated = true; 
     setTimeout(_positionMenuNow,1); } 

setTimeout에 호출되는 _positionMenuNow는 마우스까지의 경우에 발생한다. 이 조건을 어떻게 만족시킬 수 있습니까?

+0

마우스 위로 어떤 요소를 사용 했습니까? –

+0

더 많은 코드를 추가하거나 상황을 더 잘 설명해야합니다. 이벤트가 캡처되는 위치는 어디입니까? 왜 마우스를 올렸을 때만 호출되는 기능이라면 setTimeout 기능을합니까? – cernunnos

+0

다른 위치로 드래그 앤 드롭되는 컨트롤이 있습니다. positionMenuNow 함수를 호출해야만 삭제됩니다. 그것은 명확히하는 데 도움이됩니까? – user2156494

답변

2

사용 .on()는 핸들러 함수에 이벤트를 바인딩 :

$('body' /* or any other selector */).on('mouseup', _positionMenu); 
^         ^  ^
selection that the handler is bound to | event type | handler function (can also be an anonymous function) 

.on()

+0

사과드립니다. 비슷한 대답이지만, 실행 이외의 다른 생각을 표현하려고합니다. – Starx

+0

안녕하세요,이 시도했지만 mouseup 코드를 어떻게 든 _positionMenu 함수를 호출하는 실행 중입니다. if 문이 트릭을 수행 할 수 있다고 생각합니다. 그 용어들에 대해 뭔가를 지정할 수 있습니까? 다시 감사합니다 .. – user2156494

0

나는 그것에게 타임 아웃을 실행하는 동안 마우스가인지 여부를 확인하는 것이 좋습니다 생각하지 않습니다 읽어 보시기 바랍니다. 대신 mouseup이 트리거 된 후 제한 시간을 트리거하면 더 좋습니다.

$('body').on('mouseup', function() { 
    setTimeOut("_positionMenu()", 1000); 
+0

안녕하세요, 귀하의 회신을 보내 주셔서 감사합니다 .. 시간 초과는 실행하거나 마우스를 올려거나 릴리스되었을 때 1 초의 지연 후 함수를 호출해야합니다. 그게 도움이? – user2156494

관련 문제