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 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146
|
var _mouse_dragging = false;
var _mouse_down = false;
var _lastX = 0;
var _lastY = 0;
function MouseEvents_mouseDown( e )
{
_mouse_down = true;
if( ( browser.isNS && e.which != 1 ) || ( browser.isIE && event.button != 1 ) )
{
return true;
}
var x = ( browser.isNS ) ? e.pageX : event.clientX + document.body.scrollLeft;
var y = ( browser.isNS ) ? e.pageY : event.clientY + document.body.scrollTop;
_lastX = x;
_lastY = y;
return mouseDown( x, y );
}
function MouseEvents_mouseMove( e )
{
var x = ( browser.isNS ) ? e.pageX : event.clientX + document.body.scrollLeft;
var y = ( browser.isNS ) ? e.pageY : event.clientY + document.body.scrollTop;
if( !_mouse_dragging )
{
if( _mouse_down && ( Math.abs( x - _lastX ) > 0 || Math.abs( y - _lastY ) > 0 ) )
{
_mouse_dragging = true;
}
_lastX = x;
_lastY = y;
}
if( _mouse_dragging )
{
return mouseDrag( x, y );
}
else
{
return mouseMove( x, y );
}
}
function MouseEvents_mouseUp( e )
{
_mouse_dragging = false;
_mouse_down = false;
var x = ( browser.isNS ) ? e.pageX : event.clientX + document.body.scrollLeft;
var y = ( browser.isNS ) ? e.pageY : event.clientY + document.body.scrollTop;
return mouseUp( x, y );
}
function MouseEvents_mouseOut( e )
{
var x = ( browser.isNS ) ? e.pageX : event.clientX + document.body.scrollLeft;
var y = ( browser.isNS ) ? e.pageY : event.clientY + document.body.scrollTop;
if( browser.isNS && e.target != document )
{
routeEvent( e );
}
else
{
return mouseOut( x, y );
}
}
function MouseEvents_onScroll()
{
_mouse_dragging = false;
_mouse_down = false;
handleScroll();
return false;
}
function MouseEvents_mouseOver( e )
{
var x = ( browser.isNS ) ? e.pageX : event.clientX + document.body.scrollLeft;
var y = ( browser.isNS ) ? e.pageY : event.clientY + document.body.scrollTop;
if( browser.isNS && e.target != document )
{
routeEvent( e );
}
else
{
return mouseOver( x, y );
}
}
// Override the following functions to do what you like:
// mouseDown, mouseMove, mouseUp, mouseOver, mouseOut, mouseDrag
function mouseDown( x, y )
{
return false;
}
function mouseMove( x, y )
{
return false;
}
function mouseUp( x, y )
{
return false;
}
function mouseOver( x, y )
{
return false;
}
function mouseOut( x, y )
{
return false;
}
function mouseDrag( x, y )
{
return false;
}
function handleScroll()
{
return false;
}
// Assigns event handling capabilities to the underlying document
function setupMouseEvents()
{
document.onmousedown = MouseEvents_mouseDown;
document.onmousemove = MouseEvents_mouseMove;
document.onmouseup = MouseEvents_mouseUp;
document.onmouseover = MouseEvents_mouseOver;
document.onmouseout = MouseEvents_mouseOut;
window.onscroll = MouseEvents_onScroll;
if( browser.isNS )
{
// Commenting out next line turns on scrolling but turns off drag-and-drop
// document.captureEvents( Event.MOUSEDOWN | Event.MOUSEMOVE | Event.MOUSEUP );
}
}
setupMouseEvents(); |
Partager