File: modomevent.js

package info (click to toggle)
phpwiki 1.3.14-3
  • links: PTS
  • area: main
  • in suites: lenny
  • size: 15,716 kB
  • ctags: 23,548
  • sloc: php: 88,295; sql: 1,476; sh: 1,378; perl: 765; makefile: 602; awk: 28
file content (111 lines) | stat: -rwxr-xr-x 2,262 bytes parent folder | download | duplicates (8)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
//
//  This script was created
//  by Mircho Mirev
//  mo /mo@momche.net/
//
//	:: feel free to use it BUT
//	:: if you want to use this code PLEASE send me a note
//	:: and please keep this disclaimer intact
//

//define the cEvent object
cDomEvent = {
	e 		: null,
	type	: '',
	button	: 0,
	key		: 0,
	x		: 0,
	y		: 0,
	pagex	: 0,
	pagey	: 0,
	target	: null,
	from	: null,
	to		: null
}

cDomEvent.init = function( e )
{
	if( bw.ie ) e = window.event
	this.e = e
	this.type = e.type
	this.button = ( bw.ns4 ) ? e.which : e.button
	this.key = ( bw.ns4 ) ? e.which : e.keyCode
	this.target = ( e.srcElement ) ? e.srcElement : e.originalTarget 
	this.from = ( bw.ns5 ) ? e.originalTarget : ( bw.ie ) ? e.fromElement : null
	this.to  = ( bw.ns5 ) ? e.currentTarget : ( bw.ie ) ? e.toElement : null
	this.x = ( bw.ns ) ? e.layerX : e.offsetX
	this.y = ( bw.ns ) ? e.layerY : e.offsetY
	this.screenX = e.screenX
	this.screenY = e.screenY
	this.pageX = ( bw.ns ) ? e.pageX : e.x + document.body.scrollLeft
	this.pageY = ( bw.ns ) ? e.pageY : e.y + document.body.scrollTop
}

cDomEvent.addEvent = function( hElement, sEvent, handler, bCapture )
{
	if( hElement.addEventListener )
	{
		hElement.addEventListener( sEvent, handler, bCapture )
		return true
	}
	else if( hElement.attachEvent )
	{
		return hElement.attachEvent( 'on'+sEvent, handler )
	}
	else if( bw.ie4 || bw.ns4 )
	{
		if( bw.ns4 ) eval( 'hElement.captureEvents( Event.'+sEvent.toUpperCase()+' )' )
		eval( 'hElement.on'+sEvent+' = '+handler )
	}
	else
	{
		alert('Not implemented yet!')
	}
}

cDomEvent.removeEvent = function( hElement, sEvent, handler, bCapture )
{
	if( hElement.addEventListener )
	{
		hElement.removeEventListener( sEvent, handler, bCapture )
		return true
	}
	else if( hElement.attachEvent )
	{
		return hElement.detachEvent( 'on'+sEvent, handler )
	}
	else if( bw.ie4 || bw.ns4 )
	{
		eval( 'hElement.on'+sEvent+' = null' )
	}
	else
	{
		alert('Not implemented yet!')
	}
}


//Mouse button mapper object
function MouseButton()
{
	if( bw.ns4 )
	{
		this.left = 1
		this.middle = 2
		this.right = 3
	}
	else if( bw.ns5 )
	{
		this.left = 0
		this.middle = 1
		this.right = 2
	}
	else if( bw.ie )
	{
		this.left = 1
		this.middle = 4
		this.right = 2
	}
}

var MB = new MouseButton()