textArea mousemove strange behavior

by Gustavo Carvalho

HTML

<form name="Show">
    <input type="text" name="MouseX" value="0" size="4">X
    <br>
    <input type="text" name="MouseY" value="0" size="4">Y
    <br>
</form>
<textarea id='textbox' rows="30" cols="70"></textarea>

JavaScript

// Detect if the browser is IE or not.
// If it is not IE, we assume that the browser is NS.
var IE = document.all ? true : false

// If NS -- that is, !IE -- then set up for mouse capture
if (!IE) document.captureEvents(Event.MOUSEMOVE)

// Set-up to use getMouseXY function onMouseMove
document.onmousemove = getMouseXY;

// Temporary variables to hold mouse x-y pos.s
var tempX = 0
var tempY = 0

// Main function to retrieve mouse x-y pos.s

    function addText(elId, text) {
        var el = document.getElementById(elId);
        el.value += text;
        el.scrollTop = el.scrollHeight;
    }

    function getMouseXY(e) {

        //e.preventDefault();        
        
        if (IE) { // grab the x-y pos.s if browser is IE
            tempX = event.clientX + document.body.scrollLeft;
            tempY = event.clientY + document.body.scrollTop;
        } else { // grab the x-y pos.s if browser is NS
            tempX = e.pageX;
            tempY = e.pageY;
        }e.preventDefault();    
        // catch possible negative values in NS4
        if (tempX < 0) {
            tempX = 0;
        }
        if (tempY < 0) {
            tempY = 0;
        }        
e.preventDefault();                
        // show the position values in the form named Show
        // in the text fields named MouseX and MouseY
        document.Show.MouseX.value = tempX;
        document.Show.MouseY.value = tempY;
        e.preventDefault();    
        addText("textbox", tempX + ", " + tempY + "\n");
        return true;
    }