Общение


События


DHTML скриплет может работать с двумя типами событий: onscripletevent событие и стандартные оконные события. Первое может быть инициировано в любое время из скриплета. Стандартные оконные события, такие как onclick, onkeypress, не могут быть инициированы самим скриплетом, но скриплет имеет механизм, оповещающий о событии контейнер. Скриплет реагирует на следующие стандартные оконные события:

  • onClick
  • onDblClick
  • onMouseDown
  • onMouseUp
  • onMouseMove
  • onKeyPress
  • onKeyUp
  • onKeyDown

Для работы со стандартными оконными событиями из контейнера необходимо написать обработчики событий в двух местах: один в скриплете для передачи уведомления о событии контейнеру, для этого вызывается метод bubbleEvent(), а другой в приложении, использующем скриплет для, непосредственной обработки события. Детальная информация о событии может быть получена через стандартный объект event. Рассмотрим простой пример передачи уведомления контейнеру о событии onKeyUp для поля ввода text1:

<input type = text onkeyup = "passKeyUp()" name = "text1" value = " "> <script languаge = JavaScript> function passKeyUp() { window.external.bubbleEvent();// передача уведомления, о //событии onKeyUp в //элементе text1

} </script>

Есть одна тонкость: при передаче сообщения сначала необходимо убедиться в том, что свойство скриплета frozen имеет значение false, для уверенности, что контейнер способен обработать событие.

Note: Свойство frozen - read-only булево свойство скриплета; значение true означает, что на данный момент событие в контейнере обработано не будет.

Если скриплет не содержит обработчика данного события или внутри обработчика не вызывается метод bubbleEvent, то уведомление о событии передано не будет.

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




Начало  Назад  Вперед



Книжный магазин