이 내 HTML 페이지입니다 :메인 페이지에서 별도의 .js 파일로 jquery 함수를 호출합니다.
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Untitled Document</title>
<script type="text/javascript" src="jquery-1.8.2.min.js"></script>
<script type="text/javascript" src="myscript.js"></script>
<script type="text/javascript">
$(document).ready(function() {
function closecontactform(){
alert("closing the form");
};
});
</script>
</head>
<body>
<p id="elementname">Click me to call function</p>
</body>
이것은 myscripts.js 파일에 있습니다
$(document).ready(function() {
$('#elementname').click(function() {
alert("click detected");
closecontactform();
});
});
내 실제 페이지에
이 아주 조금 더 복잡 이것보다하고 JQuery와 많이 포함하지만이 필요한 코드 만 보여주는 기본 문제입니다. 함수가 메인 페이지에 정의되어있는 반면 별도의 .js 파일에서 함수를 호출 할 수 있기를 원합니다. 이 간단한 간단한 버전에서는 $ (document) .ready (function() ...)을 제거해 보았습니다.이 간단한 예제에서는 제거하는 것이 더 복잡한 페이지에서 해당 줄을 필요로하는데, 그 이유는 제거하는 것이 내가 가지고있는 모든 것을 망가 뜨리는 것 같습니다. 에. 당신은 볼 수호출됩니다 "감지 클릭"하지만,하지 않습니다 "양식을 닫는."
나에게 어떤 포인터를 줄 당신은 수 있습니까?감사합니다,
확인. 당신이 말한 것처럼 범위 문제였습니다. 그러나 제 실제 함수가 실제로 많은 변수와 jquery (및 CSS)를 포함하고 있기 때문에 제 $ (document) .ready()를 제거 할 수 있다고 생각하지 않습니다. html로드 중입니다. 그래서 내가 한 것은 모든 코드를 분리 된 .js 파일에서 가져 와서 내 메인 페이지의 동일한 $ (document) .ready() 안에 넣는 것입니다. 문제가 해결되었습니다. – Maureen
ok .. jQuery 코드 부분을 설명하려고 시도했지만 아마도 함수를 꺼낼 수 있습니다.당신은 여전히'ready' 내에서만 많은 함수를 호출 할 수 있습니다. 그러나 동일한 전역 함수에 접근 할 때 diffeent 파일에'ready'를 가질 수 있습니다. – charlietfl
'ready'의 이름을 가진 함수를 호출 할 때 $ (document) .ready를 래핑하는 방법을보십시오. . 함수가 호출 될 때까지 함수가 실행되지 않습니다. 여기에 정의 된 위치 (상단 또는 하단)에 – charlietfl