0
불면증으로 인한 것일 수도 있지만 다음 JS 기능을 사용하는 데 문제가 있습니다.jQuery/JS 함수 값 반환
function numFunction() {
var retNum = null;
$('.draggable').draggable($state).on("drag", function (event, ui) {
retNum = 31;
});
return retNum;
}
var finNum = numFunction();
그것은이처럼 쉽게 :
- 우리는 이름
numFunction
와 함수를 만들어의 시작. - 변수
retNum
이 정의됩니다. 변수는 jQuery UI draggable (완벽하게 작동 함)에 의해 트리거되는 이벤트로 인해 값이 변경됩니다. - 반환
retNum
- 마지막으로, 정의
31
의 함수의 (가정) 새 값으로 변수finNum
새. - 기사 끝.
아쉽게도 작동하지 않습니다. console.log(finNum)
은 null
만 반환합니다. 나는 내 머리를 벽에 부딪 히려하고있다. 내가 무엇을 놓치고 있는지 모른다.
이것은 많은 이해가되지 않습니다 다음
retNum
이null
그래서 이렇게 유지되도록
당신이 함수를 호출
는, 핸들러는 아직 트리거되지 않을 수 있습니다. 그가 기능을 수행하고 가치를 반환하는 것은 시간이다. 그리고 즉시 발생하며 이벤트 처리기가 아직 트리거되지 않았습니다. 이벤트 핸들러의 후속 트리거는 마술처럼 함수를 다시 실행하지 않습니다. 논리에 결함이 있습니다. 대신 이벤트 처리기 내부에서 변수에 액세스해야하는 코드를 트리거해야합니다. 기본적으로 동일한 상황 인 http://stackoverflow.com/questions/14220321/how-to-return-the-response-from-an-ajax-call을 살펴보십시오. –그건 완벽하게 이해가됩니다. 몇 가지 추가 독서를 할 것입니다. 내 생각은 지금 바깥입니다. – sdny