2012-04-19 2 views
0

일부 json 데이터를 가져 와서 페이지에 표시하는 jquery 코드를 만들었습니다. 재사용하기 위해, 내가 함수에 싸서 : 첫 번째 시간을 지금Jquery에서 준비된 문서에서 내 함수를 실행하는 방법

$(function(e) { 
var answer; 
id = 1; 

var question = function() { 
    $.getJSON('getjson.php?id=' + id, function(data){ 
     console.log(data); 
    var $htmlString = ""; 
    $.each(data, function(index) { 
     $htmlString += "<h2>" + data[index].question + "</h2>"; 
       str = data[index].answer; 
       answer = data[index].answer.split(', '); 

    $htmlString += "<ul>"; 
    for(var index in answer) { 

     $htmlString += "<li>" + index + " : " + answer[Math.floor(Math.random() * answer.length)] + "</li>"; 

    } 
    $htmlString += "</ul>"; 
    });$('#content').html($htmlString); 
    }); 
}; 
}); 

페이지가로드, 그때 나는 '다음'아이디 증가하고 클릭하면, 자체적으로 실행하는 기능이 필요합니다 기능이 트리거됩니다. 위의 기능은 클릭 트리거를 사용할 때 효과적이지만 문서가 준비되면 바로 트리거 할 수 있습니다.

감사합니다.

+0

* "위의 기능이 잘 작동 방아쇠를 당긴다. 그러나 문서가 준비된 직후에 어떻게 작동시킬 수 있을까? "* 어디서나 click 이벤트를 볼 수 없다. –

+0

click() 함수가 클릭 기능 (가장 최근 및 아마도 다음에 몇 가지 jquery 버전)을 바인드하는 데 작동하지만, – aurel

답변

1

당신은 또한 사용할 수 있습니다 : 당신이하지 않으면, 당신은 또한 예는, 그렇게 할거야 내가 클릭을 사용할 때

$(function(){ 
    (question = function(){ 
    // your code 
    })(); 
}); 
+0

감사합니다. 작동하지 않았지만 (질문)(); 그것과 동일합니다. 고마워요. – aurel

+0

Firebug 콘솔에서'(question = function() {console.log ('test')})(); question();'시도해보십시오. 서면,하지만 어쨌든 당신이 그것을 관리 얻을 수 있다면 좋은) – Tronix117

+1

내 나쁜, 복사 및 붙여 넣기에 엉망이되었을 수도 있습니다, 지금은 정확히 어떻게 감사드립니다 :) :) – aurel

1

거의 다 왔어. 함수를 $()에 전달 했으므로 ready 처리기 (shortcut)에 연결해야합니다. 그러니 그냥 마지막에 함수 호출을 추가합니다 : 또한

}; 

question(); 

}); 

, 당신은 내가 클릭 트리거를 사용할 때

위의 기능이 잘 작동했다했지만, 나는 바로 그것을 어떻게 트리거 할 수 있습니다 문서가 준비되면

...하지만 어디서나 연결되는 것을 볼 수 없습니다.

// Hook up click 
    $("selector for elements to click on").click(question); 

    // Call right now, since we're in a `ready` handler 
    question(); 
}); 
+0

을 남겼으므로 대신 on() 함수를 사용하는 것이 가장 좋습니다. http : //api.jquery.com/on/ – giorgio

+0

offcourse jquery 1.7 이상을 사용하는 경우에만 true입니다. (사용하는 것이 좋습니다!) – giorgio

+0

@giorgio : 나는 그것이 최상의 방법이라고 동의합니다 ('on' 괜찮아요.)'click'이 더 이상 사용되지 않을뿐만 아니라, 그렇게 될 가능성은 희박합니다. –

0
// Your function definition, which you could minify here or keep in a separate file 
...var question... 

// Shorthand for the jquery document.ready 
$(function() { 
    // Code here to call custom functions 
}); 
관련 문제