2010-12-22 4 views
1

다음 jQuery 표현식이 주어 졌을 때jQuery .each()를 사용할 때 함수가 언제 실행됩니까?

 $("form").each(function() { 
     var info = validationInfo(this); 
     if (info) { 
      info.attachValidation(); 
     } 
    }); 

선택기가 페이지의 모든 양식을 선택한 다음 발견 된 각 '양식'에 대해 함수를 첨부합니다.

제 질문은이 기능의 JS가 실제로 실행되는 시점입니까? 함수에 포함 된 JS는 연결될 때 실행됩니까?

+1

난 당신이 무엇을'validationInfo()'와'attachValidation에 대해 우리를 계몽 할 필요가 있다고 생각'() : 사용자가 버튼을 클릭 할 때이 경우 당신은 당신이 실행하는 기능의 코드를 포함해야 할 것이다 우리가 그 질문에 대답 할 수 있기 전에 있습니다. –

+1

JS가 호출되면 JS가 실행됩니다. –

+0

나는 모든 답변을 지금까지 주셔서 감사합니다. 나는 나쁜 예를 제출 한 것 같다. 나는 그것을 더 좋은 것으로 업데이트하고 싶다. (나는 그것이 어쨌든라고 생각한다.) 그러나 그것은 이미 주어진 게시물을 무효로 만들 것이다. 다른 스레드를 시작해야합니까? 또는 원래 질문의 코드를 편집해야합니까? 프로토콜의 확실하지 않다 –

답변

2

모두 코드 위치에 따라 다릅니다.

당신이 $(function(){...} 블록에서 해당 코드 블록 runs when the document is parsed 포함 할 경우 그것은 실행 : 사용자 이벤트가 버튼을 클릭하는 것과 같은 발생할 때 사용 사례를 기반으로

$(function(){ 
    $("form").each(function() { 
     var info = validationInfo(this); 
     if (info) { 
      info.attachValidation(); 
     } 
    }); 
}) 

비록, 당신은 모든 형태의 유효성을 검사 할 수 있습니다를 .

//Bind function to button 
$("#mybutton").live('click', doValidation); 

//Do validation 
function doValidation() { 
    $("form").each(function() { 
     var info = validationInfo(this); 
     if (info) { 
      info.attachValidation(); 
     } 
    }); 
} 
+0

"코드 자체만으로는 절대 실행되지 않을 것입니다."... 확실한 것은 '

'요소 뒤에 오는 경우 ... 첫 번째 행은 잘못된 문장입니다. –

+0

충분합니다. 포인트가되는 것은 코드 위치에 따라 다릅니다. –

2

attachValidation()은 언제 실행됩니까? 루프에서 호출되는 즉시 실행됩니다.

+0

답변이 필요한 게시물입니까? 흥미로운 ... –

+0

나는 무엇을 더 말하기로되어 있었느냐? 그것은 오히려 간단한 대답을할만한 간단한 질문이었습니다. – simshaun

관련 문제