2011-04-01 4 views
0

jQuery를 사용하고 있습니다.이전에로드 한 JS 파일의 함수 호출

$("#content").load("/profile"); 

function setHash(hash) { 
    location.hash = "#/:-)/"+hash; 
} 

"/ 프로필"setHash의 호출에 포함 된 다른 외부 JS 파일 (profile.js)로드 : 나는 JS 파일 (super.js)를 포함해야

setHash('blabber'); 

을하지만 '아무튼 작동하지 않는 것 같습니다 (setHash는 정의되지 않습니다).

편집 :

function changePage(type) { 
    setHash('bla/'+type); 
} 

가 어떻게 JS 파일에서 작동하는 "글로벌"기능을 동적으로로드 페이지에 포함 얻을 수 있습니다 : setHash이 profile.js에서 함수 내에서 호출?

감사, 알버트

+1

은의''$ (문서) .ready (함수() {})'또는 다른 폐쇄에 포함 setHash' 있습니까? – mVChr

+0

예, 그 점을 잊어 버렸습니다. – alste

답변

2

$(document).ready(function(){})의 외부 setHash 기능을 이동합니다. 이것은 어디서든 호출 할 수있는 전역 함수가 될 것입니다. 그것이 클로저 안에 있다면 그 클로저 안에서만 호출 될 수 있습니다. 당신과 위로가 폐쇄 이외의 많은 기능을 이동하는 경우에, 나는 그들을의 네임 추천 :

var myApp = {}; 
myApp.setHash = function() { 
        // your code 
       }; 

myApp.setHash(); // invocation 
+0

mmm, profile.js에서 호출 할 때 setHash는 여전히 '정의되지 않음'입니다. – alste

+0

load() 메서드를 사용할 때 브라우저가 포함 된 외부 JS를로드합니까? 그냥() 뭔가를 경고하려고합니다. – Capsule

+0

편집 : 고마워요 :) – alste

관련 문제