Skip to main content

Javascript Mouse Event I

My attempt at learning javascript...

Call the init() method from the body tag..
The text should follow the cursor when u execute this script.


ns4 = (document.layers)? true:false
ie4 = (document.all)? true:false

var str = "Javascript magic!!!"
var block;

function init() {
document.onmousedown = mouseDown
document.onmousemove = mouseMove
document.onmouseup = mouseUp
if (ns4) document.captureEvents(Event.MOUSEDOWN | Event.MOUSEMOVE | Event.MOUSEUP)

if (ns4) block = document.blockDiv
if (ie4) block = blockDiv.style
}

function mouseDown(e) {
if ((ns4 && e.which!=1) || (ie4 && event.button!=1)) return true
var x = (ns4)? e.pageX : event.x+document.body.scrollLeft
var y = (ns4)? e.pageY : event.y+document.body.scrollTop

return true
}

function mouseMove(e) {
var x = (ns4)? e.pageX : event.x+document.body.scrollLeft
var y = (ns4)? e.pageY : event.y+document.body.scrollTop
status = "x:"+x+" y:"+y

//document.write(str)
block.left = x
block.top = y
document.getElementById('blockDiv').innerHTML = str;
return true
}

function mouseUp(e) {
var x = (ns4)? e.pageX : event.x+document.body.scrollLeft
var y = (ns4)? e.pageY : event.y+document.body.scrollTop
return true
}




Comments

Popular posts from this blog

JavaScript - The this keyword

"this" is one of the most misunderstood construct in JavaScript.  To understand this first lets go through how to create a construction function in JavaScript.  A constructor function is a function which is used to create instances of objects in JavaScript.

You define a constructor function using the same notation that you use to define a normal JavaScript function.  The convention to follow is to capitalize the first letter of the function name.

This requirement is not enforced by the JavaScript language but it is a generally accepted practice and there are many benefits which we will shortly discuss.

Let's define a constructor function to hold our menu information.

function Menu() { }
So, in the above snippet you have a constructor function named Menu defined. At present this function doesn't do anything good.

Let's see how to invoke this function

var menu = new Menu();
Let's add some public properties to this function.
function Menu() { this.menuName = &q…