2012-07-02 3 views
1

제 1, DOM 준비 기능에 다음과 같은 이 태그 중 하나 (모두 $(document).ready(function(){my two Functions here});? 올바른 사용

<script> 
    $(document).ready(function(){my Function here}); 
</script> 

은 하나를 사용하여 당신에게

+0

"태그"란 무엇입니까? 처음에 나는 당신이 '

0

감사드립니다. 코드를보다 쉽게 ​​관리 할 수 ​​있으므로 한 곳에서 호출되는 모든 기능을 볼 수 있습니다.

+0

한 곳에서 모든 것이 가능하다면 관리가 쉽다는 원칙을 사용하여 많은 기능 (많은 코드 행, 많은 조건부 분기 및 하위 분기)을 만듭니다. 큰 기능은 코드의 모듈화 부족과 관심사의 캡슐화 부족에 대한 지표입니다. 스파게티 코드로 연결됩니다. OOP 스파게티 코드의 정확한 용어는 스파게티와 미트볼입니다 :-). –

+0

여기서 함수를 작성하는 것은 아닙니다. 여기에 함수 호출을 넣으십시오. 함수 호출은 보통 한 줄입니까? 또한 프로젝트에 따라 다릅니다. – matpol

+0

전적으로 함수 코드를 추가하는 것을 의미하지는 않습니다. 그러나 복잡한 프로젝트 나 오랜 시간 동안 유지 관리 프로젝트의 요구 사항은 쌓이는 경향이 있으며 어떤 경우에만 일부 이벤트를 바인드하고 일부 유형의 객체에 대한 매개 변수와 다른 유형의 객체에 대한 일부 매개 변수를 전달해야 할 필요가 있습니다. 당신은 이것을 관리하기 위해'if's를 쓰게되고, 그들은 스파게티로 빨리 변합니다. –

1

당신은 서로 다른 기능을 가진 $(document).ready() 여러 통화를 할 수 있습니다. 당신이 그들을 포함시킨 순간이 이벤트가 발생한 후에 (AJAX를 통해 $.getScript()을 포함하여) 포함되지 않는 한 그들은 모두 그 이벤트에 묶일 것입니다.

코드를 HTML에 직접 포함하면 안됩니다.

하나 이상의 외부 파일에 고정하고 src을 사용하여 참조하십시오.

그런 식으로 쉽게 캐싱 할 수 있으며 사용자는 각 페이지로드시 동일한 콘텐츠를 다시 다운로드하지 않습니다.

다른 용도로 사용하기 위해 다른 준비 파일을 구성 할 수도 있습니다. 하나는 외부 플러그인을 초기화합니다. 하나는 일부 이벤트 바인딩을 실행합니다. 하나는 양식 유효성 검사를 적용합니다.

다른 파일에 저장하면 필요할 때 파일을 포함 할 수 있습니다. onReady.ShoppingCart.js는 상점의 모든 페이지에 필요할 수 있지만 체크 아웃 레인이 아닌 해당 상점의 CMS 페이지에는 필요하지 않을 수 있습니다.

+0

답장을 보내 주셔서 감사합니다 .v 이미 포함 된 함수를 초기화하면 어떻게됩니까? 스크립트 : . 이 스크립트는 html 안에 포함시켜야합니까? –

1

ready() (인라인 onload=""과 비교)의 목적은 하나의 이벤트에 대해 여러 핸들러의 바인딩을 허용하는 것입니다.

그래서 가장 단순한/분명하게 사용하십시오. 인터넷이 인라인 핸들러의 사용을 없애기 위해 너무 많이 싸웠을 때 여러 번 바인딩하는 것은 어리석은 행동입니다.

+0

감사, 좋은 지적 –