Главная » Silverlight » Обработка событий JavaScript

0

Код Silverlight может не только находить, анализировать и редактировать элементы HTML, но и реагировать на их события. Для этого необходимо знать имя события, при­своенное ему в модели DOM. Наиболее полезные общие события приведены в табл. 14.4 (общими называются события, принадлежащие элементам многих типов).

Для подключения обработчика к событию используется метод HtmlElement. AttachEvent (). Его можно вызвать в любом месте кода и применить для существую­щего или нового элемента. Ниже приведен код, подключающий обработчик к событию щелчка на абзаце element.

element.AttachEvent ("onclick", paragraph_Click);

Таблица 14.4. Общие события DOM HTML

Имя события

Когда генерируется

onchange

Когда пользователь изменяет значение элемента ввода; текстовые элементы управления генерируют это событие после изменения в момент передачи фокуса другому элементу управления

onclick

При щелчке мышью на элементе управления

onmouseover

Когда указатель входит в область элемента управления

onmouseout

Когда указатель выходит из области элемента управления

onkeydown

При нажатии клавиши

onkeyup

При отпускании нажатой клавиши

onselect

Когда пользователь выделяет фрагмент текста в элементе ввода

onfocus

При получении фокуса

onblur

При потере фокуса

onabort

Когда пользователь отменяет загрузку изображения

onerror

Когда выясняется, что изображение не может быть загружено (например, из-за неправильного адреса URL)

onload

При завершении загрузки новой страницы

onunload

При отмене загрузки; обычно это событие происходит после ввода нового адреса URL или щелчка на гиперссылке перед началом загрузки новой страницы

Совет. Методы AttachEvent () есть не только у класса HtmlElement. Например, метод HtmlWindow. AttachEvent () можно использовать для подключения обработчика к событиям, генерируемым окном браузера (объектом окна модели DOM), а метод HtmlDocument .AttachEvent О — для подключения обработчика к событиям, генерируемым верхнеуровневым документом (объектом документа модели DOM).

Обработчик события получает объект HtmlEventArgs, предоставляющий дополнитель­ную информацию. Для событий мыши с его помощью можно выяснить состояние кнопок и точные координаты указателя относительно элемента, сгенерировавшего событие.

Приведенный ниже обработчик события изменяет текст и цвет фона абзаца.

private void paragraph_Click(object sender, HtmlEventArgs e)

{

HtmlElement element = (HtmlElement)sender; element.SetProperty("innerHTML",

"Вы щелкнули на этом абзаце, и обработчик изменил его."); element.SetStyleAttribute("background", "#00ff00");

)

Применяя эту методику, можно получать эффектные результаты. Приложение Silverlight играет роль посредника, позволяющего управлять страницей HTML посред­ством клиентского кода С# вместо JavaScript.

На рис. 14.4 показан результат работы приведенного выше кода.

Рис. 14.4. Код Silverlight управляет абзацем HTML

Источник: Мак-Дональд, Мэтью. Silverlight 3 с примерами на С# для профессионалов. : Пер. с англ. —- М. : ООО «И.Д. Вильяме», 2010. — 656 с. : ил. — Парал. тит. англ.

По теме:

  • Комментарии