JQuery / Javascript процесс вопрос - PullRequest
0 голосов
/ 16 марта 2011

Я унаследовал чужой проект и строю для него схему рабочего процесса.Не вдаваясь в слишком много деталей, человек, который ушел, был единственным человеком в веб-отделе с продвинутыми навыками программирования (большинство людей там занимаются производством и некоторыми вещами HTML / CSS).Унаследованный мной проект был разработан в CodeIgniter и в значительной степени опирается на JQuery, AJAX и JSON.Поток немного сбивает с толку, поэтому я обрисовал его.(Я перехожу к вопросу, терпите меня)

В любом случае, менеджер этого отдела, давайте назовем его Инструментом, не позволит своим людям изучать что-либо из этого.Он спросил меня на днях, как это происходит, и я ответил хорошо, за исключением того, что я не могу найти, где устанавливается одна переменная, первоначальный разработчик использует jquery для вызова некоторого значения формы, чтобы задать путь к файлам (он использует #id.val ()) но я не могу найти #id в коде.Менеджер отвечает, я думал, что вы гуру PHP.Как я уже сказал, мы будем называть его Инструментом.

Во всяком случае, чтобы хоть как-то приклеить его, я решил поделиться этими страницами с людьми в его группе, сделать их очень наглядными и, надеюсь, образовательными.Я объясняю, как при внесении изменений в меню выбора jquery / javascript распознает это изменение и запускает связанный код в JS.

Потом до меня дошло, что я действительно не знаю, откуда JS / JQ узнал, что изменение было сделано.Я знаю код ($ ("# id"). Change () ... У меня есть фон AppleScript, и на этом языке есть бездействующая команда, в принципе вы можете иметь сценарий, сидящий в фоновом режиме, наблюдающий и ожидающий, когда произойдет X(скажем, пользователь запускает Photoshop), и когда происходит это событие, запускается остальная часть кода. Делает ли JS что-то подобное?

Ответы [ 2 ]

1 голос
/ 16 марта 2011

Этот код:

$("#id").change()

говорит jQuery ("$") найти элемент, значение которого "id" (в данном случае) "id", и затем вызвать событие "change" для элемента. Это приведет к тому, что зарегистрированные обработчики событий будут искать такие события в этом элементе для запуска. Это основа практически всего, что вы делаете с JavaScript в браузере: ответы на события.

Где-то, возможно, есть один из них:

$("#id").change(function() { ... })

$("#id").live('change', function() { ... })

$("#id").bind('change', function() { ... })

Существует множество способов определения элемента для настройки обработчиков событий, поэтому его может быть сложно найти.

0 голосов
/ 17 марта 2011

В более новых версиях Chrome вы можете просмотреть html-элемент, и он также покажет «классические» события, связанные с ним.

Все более и более хорошие разработчики переходят к делегатам событий, таким как: http://developer.yahoo.com/yui/3/event/#delegate

Который, скорее всего, не будет отображаться в Chrome, но должен быть читаемым из кода.

...