Ajax Layer JavaScript DHTML

http://dynapi.sourceforge.net/
GNU LESSER GENERAL PUBLIC LICENSE
Version 2.1, February 1999       


DynAPI - Mouse Events


dynapi.library.setPath('./dynapisrc/');
dynapi.library.include('dynapi.debug');
dynapi.library.include('dynapi.api');


var str = '
'+
'
'+
'text text '+
'link link'+
'
';
var red = dynapi.document.addChild(new DynLayer(str,250,100,300,300,'red'));
red.name = "red";
var blue = red.addChild(new DynLayer(str,50,100,200,200,'blue'));
blue.name = "blue";
var orange = blue.addChild(new DynLayer(str,0,100,100,100,'orange'));
orange.name = "orange";
var green = blue.addChild(new DynLayer(str,100,100,100,100,'green'));
green.name = "green";
dynapi.document.name = "document";
var returnVal = true;
var updownevents = {};
updownevents.onmouseup = updownevents.onmousedown = function(e) {
  var o = e.getSource();
  var bc = e.getBubbleChild();
  var bcs = bc? ' bubbleChild=' + bc.name : '';
  e.defaultValue = returnVal;
  DynAPI.debug.print(e.type+' '+o.name+' xy='+e.x+','+e.y+' pXY='+e.pageX+','+e.pageY + ' origin=' + e.getOrigin().name + bcs);
}
var clickdblevents = {};
clickdblevents.onclick = clickdblevents.ondblclick = function(e) {
  var o = e.getSource();
  var bc = e.getBubbleChild();
  var bcs = bc? ' bubbleChild=' + bc.name : '';
  e.defaultValue = returnVal;
  DynAPI.debug.print(e.type+' '+o.name+' xy='+e.x+','+e.y+' pXY='+e.getPageX()+','+e.getPageY() + ' origin=' + e.getOrigin().name + bcs);
}
var overoutevents = {};
overoutevents.onmouseover = overoutevents.onmouseout = function(e) {
  var o = e.getSource();
  var bc = e.getBubbleChild();
  var bcs = bc? ' bubbleChild=' + bc.name : '';
  var rel = e.getRelative();
  var rels = '';
  if (e.type=="mouseout" && rel) rels = ' to=' + rel.name;
  if (e.type=="mouseover" && rel) rels = ' from=' + rel.name;
  e.defaultValue = returnVal;
  DynAPI.debug.print(e.type+' '+o.name+' origin=' + e.getOrigin().name + rels + bcs);
}
var moveevents = {};
moveevents.onmousemove = function(e) {
  var o = e.getSource();
  var bc = e.getBubbleChild();
  var bcs = bc? ' bc=' + bc.name : '';
  e.defaultValue = returnVal;
  dynapi.debug.status(o.name+' xy='+e.x+','+e.y+ ' o=' + e.getOrigin().name + bcs);
  //DynAPI.debug.print(e.type+' '+o.name+' xy='+e.x+','+e.y+' pXY='+e.getPageX()+','+e.getPage(Y + ' origin=' + e.getOrigin().name + bcs);
}
function rolloverTest() {
  dynapi.document.removeAllEventListeners();
  red.removeAllEventListeners();
  red.color0 = "red";
  red.color1 = "#ff9595";
  blue.removeAllEventListeners();
  blue.color0 = "blue";
  blue.color1 = "#c6c6ff";
  green.removeAllEventListeners();
  green.color0 = "green";
  green.color1 = "#b7ffb7";
  var el = {
    onmouseover : function(e) {
      var s = e.getSource();
      var b = e.getBubbleChild();
      var r = e.getRelative();
      var o = e.getOrigin();
      //if (b==r) return;
      //if (!r.isChildOf(s)) {
      //if (s==o) {
        if (s!=dynapi.document) s.setBgColor(s.color1);
        dynapi.debug.print('over '+s.name);
      //}
    },
    onmouseout : function(e) {
      var s = e.getSource();
      var b = e.getBubbleChild();
      var r = e.getRelative();
      var o = e.getOrigin();
      //if (r.isChildOf(s)) return;
      //if (s==o) {
        if (s!=dynapi.document) s.setBgColor(s.color0);
        dynapi.debug.print('out '+s.name);
      //}
    }
  };
  red.addEventListener(el);
  blue.addEventListener(el);
  green.addEventListener(el);
  dynapi.document.addEventListener(el);
}
dynapi.onLoad(init);
function init() {
}



Set Default Return Value:
true / 
false

Capture Mouse Events: (you may have to explicitly capture if no event handlers are defined)

document ·
red ·
blue ·
green

Release Mouse Events:

document ·
red ·
blue ·
green

Turn off text-selection:

document ·
red ·
blue ·
green

Listen to mouse up/down events:

document: on/off

red: on/off

blue: on/off

green: on/off

Listen to click/dblclick events:

document: on/off

red: on/off

blue: on/off

green: on/off

Listen to over/out events:

document: on/off

red: on/off

blue: on/off

green: on/off

Listen to mousemove events:

document: on/off

red: on/off

blue: on/off

green: on/off

Run Test:

rollover test

dynapi.document.insertChild(red);



           
       
dynapi.zip( 791 k)