2010-05-14 3 views
4

Я использую полдюжины JQuery плагинов и плюс мои собственные скрипты JQuery и в любом сценарии у меня есть этот код:как организовать все скрипты JQuery

$(document).ready(function() 
{ .... } 

, что это лучший способ организовать все сценарии в одном centeralized место и вместо того, чтобы несколько раз $ (документ) .ready (функция() везде в сценарии.

мысли?

UPDATE

one.js

$(document).ready(function() { 
$("#aspnetForm").validate({ 
rules: 
{ 
<%=txtVisitName.UniqueID %>: 
{ 
     maxlength:1, 
     required: true 
    }, 
deleted lines...... 

two.js

$(document).ready(function() { 
$("#btnSubmit").click(function(event) { 
    if ($("#aspnetForm").valid()) 
     SaveVisitBasicPage(); 
    deleted lines...... 

Three.js

$(document).ready(function() { 
function initMenu() { 
    $('#menu ul').hide(); 
    $('#menu li a').click(
    deleted lines...... 

four.js

$(document).ready(function() { 

$("#ctl00_cphMaster_txtPurpose").NobleCount('#count01', 
{ 
    max_chars: 25, 
    on_negative: 'go_red', 
    on_positive: 'go_green', 
    block_negative: true      
    deleted lines...... 

, как бы я организовал выше .js файлы ?, вы видите выше, имея mulitple раз $ (document) .ready (function().

ответ

1

Рассматривали ли вы с помощью механизма управления Require.js зависимостей?

0

Не уверен, что это поможет, но так я организую сценарии jQuery. Наше приложение имеет 80K строк JavaScript, поэтому организация важна, и это сработало для нас красиво.

Self Executing Function pattern

+0

Я должен указать, что вам следует прокрутить этот вопрос до ответа, который я разместил. –

+0

Стив, я обновил свой вопрос, как бы вы поступили? –

2

Упакуйте все свои функции в объект, который вы можете связать между файлами, подключив его к окну. Затем передайте анонимную функцию, которая запускает все ваши DOM-зависимые события в готовом документе.

пример:

file1

var MyObj = { 
    init: function(){ 
    // do stuff 
    }, 
    otherStuff: function(){ 
    // do other stuff 
    } 
} 

window.MyObj = MyObj 

file2

var MyObj = window.MyObj; 

MyObj.moreStuff = function(){ 
    //do more stuff 
} 

$(document).ready(function(){ 
    MyObj.init(); 
    MyObj.moreStuff(); 
}) 

Вы должны иметь только один document.ready() исполнение на PageLoad. Или вы ошибаетесь.

Надеюсь, это поможет.

+0

Я обновил свой вопрос, как бы я пошел на организацию файлов? .. Я не понимаю ваш образец кода. оцените любую помощь. –

Смежные вопросы