Кто-нибудь знает какой-либо основанный на людях сайт по аудиту исходного кода / форум / сообщество для JavaScript / jQuery? - PullRequest
1 голос
/ 05 ноября 2010

Здравствуйте, я пишу код jQuery для моего приложения и у меня возникли некоторые проблемы (например, однажды вызванная функция, запущенная три раза). Я должен знать, существует ли какой-либо сайт, на котором люди проверяют исходный код и комментируют мои ошибки.

большая часть моего кода похожа на это, я / е:

$('a.openBox').click(function(){
  //do something
  $('.box').show();
  $('a.openModal','.box').click(function(){
     $.openModal(some, parameters)
  });
});

$.openModal = function(foo,bar){
    //do something
    $('a.close').click(function(){
        $('#modal').hide();
     });
    $('input.text').click(function(){
        $.anotherFunction();
     });
});

я делаю что-то явно не так?

1 Ответ

2 голосов
/ 05 ноября 2010

Я не знаю ни о каком подобном аудите исходного кода - конечно, не бесплатно! Этот сайт довольно хорош для определенных проблем, хотя ...

В этом случае проблема заключается в том, что вы постоянно связываете все новые и новые события. Например, со следующим кодом:

$('a.openBox').click(function(){
  //do something
  $('.box').show();
  $('a.openModal','.box').click(function(){
     $.openModal(some, parameters)
  });
});

Этот код говорит: «всякий раз, когда пользователь нажимает на элемент a.openbox, показывать все элементы .box и связывают новый обработчик щелчка со всеми .box a.openModal элементами ». Это означает, что вы будете добавлять другой обработчик в .box a.openModal каждый раз, когда нажимаете a.openbox. Я не могу поверить, что это то, что вы хотите сделать!

Трудно понять, каким должен быть правильный код, не зная контекста и точно, что вы хотите, чтобы произошло. В первую очередь я бы посоветовал вам прочесть о событиях Javascript и обработчиках событий, особенно в том, что касается их реализации в jQuery.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...