Alien-GvaScript

 view release on metacpan or  search on metacpan

doc/html/Event.html  view on Meta::CPAN

<head>
  <script src="../../lib/Alien/GvaScript/lib/prototype.js"></script>
  <script src="../../lib/Alien/GvaScript/lib/GvaScript.js"></script>
  <link href="GvaScript_doc.css" rel="stylesheet" type="text/css">
  <script>
    document.observe('dom:loaded', function() { new GvaScript.TreeNavigator('TN_tree'); });
    function jumpto_href(event) {
      var label = event.controller.label(event.target);
      if (label && label.tagName == "A") {
        label.focus();
        return Event.stopNone;
      }
    }
  </script>
</head>
<body>
<div id='TN_tree'>
  <div class="TN_node">
   <h1 class="TN_label">Alien::GvaScript::Event</h1>
   <div class="TN_content">
     <p><em>application-specific events
</em></p>
     <div class="TN_node"  onPing="jumpto_href">
       <h3 class="TN_label">Table of contents</h3>
       <div class="TN_content">
         <div class="TN_leaf">
  <a class="TN_label" href="#NAME">NAME</a>
  <div class="TN_content"></div>
</div>
<div class="TN_leaf">
  <a class="TN_label" href="#SYNOPSIS">SYNOPSIS</a>
  <div class="TN_content"></div>
</div>
<div class="TN_leaf">
  <a class="TN_label" href="#DESCRIPTION">DESCRIPTION</a>
  <div class="TN_content"></div>
</div>
<div class="TN_node">
  <a class="TN_label" href="#METHODS">METHODS</a>
  <div class="TN_content"><div class="TN_leaf">
  <a class="TN_label" href="#fireEvent_first_syntax_">fireEvent (first syntax)</a>
  <div class="TN_content"></div>
</div>
<div class="TN_leaf">
  <a class="TN_label" href="#fireEvent_second_syntax_">fireEvent (second syntax)</a>
  <div class="TN_content"></div>
</div>
</div>
</div>
<div class="TN_node">
  <a class="TN_label" href="#REGISTERING_AN_EVENT_HANDLER">REGISTERING AN EVENT HANDLER</a>
  <div class="TN_content"><div class="TN_leaf">
  <a class="TN_label" href="#Event_structure">Event structure</a>
  <div class="TN_content"></div>
</div>
</div>
</div>

       </div>
     </div>
     <hr/>
   </div>
  </div>
  <div class="TN_node" id="NAME">
    <h2 class="TN_label">NAME</h2>
    <div class="TN_content">
      <p>Alien::GvaScript::Event - application-specific events</p>

    </div>
  </div>
  <div class="TN_node" id="SYNOPSIS">
    <h2 class="TN_label">SYNOPSIS</h2>
    <div class="TN_content">
      <pre>  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, ...);
    }
  };</pre>


    </div>
  </div>
  <div class="TN_node" id="DESCRIPTION">
    <h2 class="TN_label">DESCRIPTION</h2>
    <div class="TN_content">
      <p>Extension of the HTML event model with specific events. 
Various <code>GvaScript</code> 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.</p>
<p>Events have names specific to the controller
(for example <code>choiceList</code> uses events <code>Highlight</code> and <code>Ping</code>;
<code>treeNavigator</code> uses events <code>Close</code>, <code>Open</code>, <code>BeforeLoadContent</code>, etc.).</p>

    </div>
  </div>
  <div class="TN_node" id="METHODS">
    <h2 class="TN_label">METHODS</h2>
    <div class="TN_content">
        <div class="TN_node" id="fireEvent_first_syntax_">
    <h3 class="TN_label">fireEvent (first syntax)</h3>
    <div class="TN_content">
      <p>If a class needs to fire specific events, it must 
<i>copy</i> the <code>GvaScript.fireEvent</code> method into its own
methods (so that "this" is properly bound to an instance
of that class).</p>
<p>The first argument to <code>fireEvent</code> is usually an event name. This 
can be any string, without the <code>on</code> prefix :</p>
<pre>  this.fireEvent("Ping", this.htmlElement, otherElement1, ...);</pre>

<p>The method will inspect all HTML elements supplied in 



( run in 1.851 second using v1.01-cache-2.11-cpan-df04353d9ac )