Повторное использование кода JQuery? - PullRequest
1 голос
/ 01 октября 2011

У меня есть некоторый код jQuery, который я планирую использовать на многих страницах в моем приложении веб-формы asp.net.

Пример: создание пользователя с использованием кода диалогового окна jQuery.

В Asp.net мы используем пользовательский элемент управления для повторного использования одного и того же фрагмента кода снова и снова. Любые идеи о том, как я могу использовать код JQuery?

Ответы [ 3 ]

3 голосов
/ 01 октября 2011

Обычно вы помещаете код во внешний файл .js и используете <script src="my/path/to/jsfile.js" type="text/javascript"></script> на каждой странице, на которой вы используете javascript. (Или вы можете поместить его в свой основной шаблон).

(перенесено изкомментарий из-за того, что это ... не комментарий: P)

1 голос
/ 01 октября 2011

Обычно, когда я работаю с более сложными приложениями, есть несколько общих шаблонов, которым я обычно следую в своем коде jQuery. Чтобы справиться с проблемой разбросанного кода JavaScript по всей базе кода, я стараюсь упаковать как можно больше в плагины jQuery и приложить некоторые усилия, чтобы сделать их как можно более универсальными.

Вы можете найти множество советов по разработке плагинов jQuery из этого доклада NDC 2011 .

При разработке большего количества JavaScript-фреймворков, таких как приложения с меньшим количеством jQuery и более простым старым JavaScript, я пытаюсь разбить свой код на несколько файлов по функциям. Я использую упаковочный инструмент, такой как AjaxMin, для объединения и минимизации фреймворка в единый поставляемый файл JavaScript.

0 голосов
/ 01 октября 2011

Я тоже не уверен, что получу это: если вы имеете в виду, что ваш опыт работы с jQuery заключается в том, что он работает на готовом документе, это могут быть только примеры, которые вы нашли. В этом случае комментарий dotweb дает ответ.

Если вы имеете в виду, что не знаете, как передать этот код на другие страницы, не выгружая его в тег скрипта с помощью копирования / вставки, Джозеф ответит.

Для того, чтобы внести что-то новое, вот довольно типичный способ сделать это, который учитывает оба вышеперечисленных:

Создайте (и включите, согласно Джозефу) один или несколько внешних файлов JS, которые представляют собой то, что вы считаете компонентами JS вашего приложения. "myApp.js" или что угодно. Внутри этого файла вы можете использовать объект для хранения всех ваших функций (согласно dotweb). Это дает ему безопасное пространство имен и предоставляет квазиглобальный способ доступа к функциям и переменным. На самом деле не «глобальный» в смысле документа, а в рамках, с которым вы можете легко работать и вызывать из любого места в вашем приложении. Итак, ваше содержимое может выглядеть примерно так:

var myApp = myApp || {}; // create a new empty object if that variable name is available

myApp.divHider = function() {
  $('div').hide();
}

myApp.backColor = function(color) {
  $('body').css('background', color);
}

// document ready function, which is where you might be accustomed to seeing scripts executed. Doesn't HAVE to be in this file; could be anywhere that makes sense

$(function() {
  myApp.divHider(); // hide all divs on document ready. Just a silly example
});
...