Псевдонимы

При создании современных веб?сайтов, использующих JavaScript, разработчики очень часто используют метод document.getElementById(). Некоторые инструментальные средства Ajax предоставляют для такой, достаточно длинной формы записи метода, псевдоним $(). В ASP.NET AJAX предпринята попытка обеспечить мирное сосуществование с другими платформами и потому в качестве псевдонима было выбрано новое имя: $get().

Эта замена позволяет сэкономить всего несколько символов, в то время как новые вспомогательные функции, выполняющие обработку событий, имеют гораздо более важное значение. Для связывания функции?обработчика с событием вы можете использовать функцию $addHandler().
function $addHandler (element, eventName, handler) {}

Функции передается элемент element, к которому должен быть подключен обработчик события handler (это может быть ссылка на функцию или анонимная функция) для обработки события с именем eventName (без префикса «on»!). Ниже приводится пример, в котором обеспечивается вывод окна с предупреждением по щелчку на кнопке:
$addHandler("Button1", "click", function() { alert("Ouch!"); } );

Убрать определенный обработчик события можно с помощью функции $removeHandler(), как показано ниже:
function $removeHandler(element, eventName, handler) {}

Заметьте, что для удаления обработчика необходимо опять передавать имя функции?обработчика.


Поэтому в большинстве случаев удобнее будет воспользоваться функцией $clearHandlers(), которая удаляет все обработчики событий для заданного элемента:
function $clearHandlers(element) {}

Команда разработчиков ASP.NET AJAX проделала огромную работу по добавлению в JavaScript расширений ASP.NET, имеющих отношение к жизненному циклу страницы. Сам по себе JavaScript поддерживает единственное событие load, чего бывает недостаточно для некоторых приложений. Кроме того, есть еще одно узкое место: это событие происходит в момент, когда полностью завершается загрузка HTML-разметки страницы. Однако страницы, созданные на основе ASP.NET AJAX, загружают несколько внешних библиотек JavaScript. Обычно эти библиотеки еще недоступны к тому моменту, когда разметка HTML уже отображена броузером. Поэтому попытка события load запустить какой?либо программный код ASP.NET AJAX происходит слишком рано.

Событие load, задаваемое ASP.NET AJAX, возникает только после загрузки всех внешних файлов JavaScript. Организовать запуск сценария по этому событию можно двумя способами. Можно воспользоваться методом Sys.Application.add_load() (как описано во врезке «Добавление обработчиков, альтернативный способ») или написать свою функцию pageLoad().


Когда платформа ASP.NET AJAX определяет, что все внешние файлы были загружены, она вызывает функцию pageLoad(), если таковая существует в текущей странице, – очень похоже на то, как ASP.NET, на стороне сервера, вызывает метод Page_Load(), если он определен. Этот метод обеспечивает надежный способ запуска использования платформы ASP.NET AJAX в нужный момент.

function pageLoad() {
/* ...*/
}

По окончании жизненного цикла страницы, когда пользователь закрывает броузер или переходит по другому адресу URL, возникает событие unload. Обработать это событие можно, написав свою функцию с именем pageUnload().

function pageUnload() {
/* ...*/
}

Если эта функция определена, платформа ASP.NET AJAX автоматически вызовет ее в нужное время.

Оцените статью: (0 голосов)
0 5 0

Статьи из раздела ASP.NET AJAX на эту тему:
Sys.StringBuilder
Интерфейсы
Клиентские версии классов .NET
Методы элементов DOM
Наследование классов