Help-Site Computer Manuals
Software
Hardware
Programming
Networking
  Algorithms & Data Structures   Programming Languages   Revision Control
  Protocols
  Cameras   Computers   Displays   Keyboards & Mice   Motherboards   Networking   Printers & Scanners   Storage
  Windows   Linux & Unix   Mac

GvaScript.fireEvent
application-specific events

GvaScript.fireEvent - application-specific events


NAME

GvaScript.fireEvent - application-specific events


SYNOPSIS


  MyConstructor = function (...) {...};

  

  MyContructor.prototype = {

   

    fireEvent = GvaScript.fireEvent, // copy into the target object

  

    someMethod: function(...) {

      ...

      this.fireEvent(eventName, target1, target2, ...);

      // OR ...

      this.fireEvent({type: eventName,

                      prop1: value1,

                      ...            }, target1, target2, ...);

    }

  };


DESCRIPTION

Extension of the HTML event model with specific events. Various GvaScript controllers use this to manage interactions between the DOM elements and the controller. Client code can register a an event handler either within the HTML code, or through Javascript.

Events have names specific to the controller (for example choiceList uses events Highlight and Ping; treeNavigator uses events Close, Open, BeforeLoadContent, etc.).


METHODS

fireEvent (first syntax)

If a class needs to fire specific events, it must copy the GvaScript.fireEvent method into its own methods (so that ``this'' is properly bound to an instance of that class).

The first argument to fireEvent is usually an event name. This can be any string, without the on prefix :


  this.fireEvent("Ping", this.htmlElement, otherElement1, ...);

The method will inspect all HTML elements supplied in the argument list, trying to find an onPing handler. If none is found, the method also tries to find an onPing property within the calling object (this).

If an event handler is found, that handler is called with an event argument as described below; the return value of the handler becomes the return value of fireEvent. If not handler is found, fireEvent returns null.

fireEvent (second syntax)

For more sophisticated needs, the first argument to fireEvent can be an object with several properties. In that case, all properties will be copied into the generated event structure. The type property should contain the event name, in order to be compatible with the first syntax. So for example


  this.fireEvent({type  : "Ping",

                  prop1 : "value1",

                  prop2 : "value2"}, this.htmlElement, otherElement1, ...);

will generate ``Ping'' events with all default properties described below, plus the properties prop1 and prop2.


REGISTERING AN EVENT HANDLER


  <div onEventName="doSomethingWith(this)">

    <span onEventName="doSomethingMoreSpecificWith(this, controller)">

    <span onEventName="doYetAnotherThing">

  </div>

  myController.onEventName = function(event){...};

There are three ways to register a handler:

javascript statement in an HTML attribute
This works as for ordinary HTML DOM events. The javascript statement will be evaluated in a context where the following variables are defined:
this
The object that registered the event handler.

target
The HTML element that first received the event.

currentTarget
The object that registered the event handler (equivalent to this).

controller
The GvaScript controller object that generated the event.

event
A structure containing various information about the generated event, described below.

name of a javascript function inside an HTML attribute
The given function will be called with a single event argument.

property assigned from Javascript
This works exactly like the previous case : the event handling function receives a single event argument.

Event structure

The event object passed to event handlers contains the following properties :

type
name of the triggered event (i.e. ``Ping'', ``Highlight'', etc.)

target
The HTML element that first received the event.

srcElement
Synonym for target.

currentTarget
The object that registered the event handler.

controller
The GvaScript controller object that generated the event.

Programminig
Wy
Wy
yW
Wy
Programming
Wy
Wy
Wy
Wy