Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Javascript > Mouse position in FireFox / NS

Reply
Thread Tools

Mouse position in FireFox / NS

 
 
scot_nery
Guest
Posts: n/a
 
      08-08-2005
I got this working in all browsers but FF/NS. It's not picking up the
event to find the mouse position.

In a perfect world, you mouse over the link and a mouse bubble pops up.

Thanks for help.
scot

 
Reply With Quote
 
 
 
 
scot_nery
Guest
Posts: n/a
 
      08-08-2005
Crap... http://dev.juggle.com/bubbletest.html
there.

 
Reply With Quote
 
 
 
 
Ross Marchant
Guest
Posts: n/a
 
      08-08-2005
"scot_nery" <> wrote in message
news: oups.com...
> Crap... http://dev.juggle.com/bubbletest.html
> there.
>


If you copy this one, make sure you put the mouse bubble a bit away from the
mouse location, other wise dragging the mouse from left to right over the
link makes the bubble flash. (Try it). Probably because as you drag the
mouse right it is no longer over the link, but over the mouse bubble
instead, and thus onmouseout is called and the bubble dissapears.

Ross


 
Reply With Quote
 
Stephen Chalmers
Guest
Posts: n/a
 
      08-08-2005

scot_nery <> wrote in message news: oups.com...
> I got this working in all browsers but FF/NS. It's not picking up the
> event to find the mouse position.
>


// It's best to monitor mouse co-ordinates with a dedicated handler:

var mouseX, mouseY;

function getMousePos(e)
{
if (!e)
var e = window.event||window.Event;

if('undefined'!=typeof e.pageX)
{
mouseX = e.pageX;
mouseY = e.pageY;
}
else
{
mouseX = e.clientX + document.body.scrollLeft;
mouseY = e.clientY + document.body.scrollTop;
}

}

// You need to tell Mozilla to start listening:

if(window.Event && document.captureEvents)
document.captureEvents(Event.MOUSEMOVE);

// Then assign the mouse handler

document.onmousemove = getMousePos;

// Then your mouseover function can just read mouseX and mouseY directly.

--
Stephen Chalmers http://makeashorterlink.com/?H3E82245A



 
Reply With Quote
 
scot_nery
Guest
Posts: n/a
 
      08-09-2005
It's a success story. Thanks tons for the help. Can't we all just get
along, my fellow browsers?

http://dev.juggle.com/bubbletest.html

 
Reply With Quote
 
Gérard Talbot
Guest
Posts: n/a
 
      08-12-2005
Stephen Chalmers wrote :
> scot_nery <> wrote in message news: oups.com...
>
>>I got this working in all browsers but FF/NS. It's not picking up the
>>event to find the mouse position.
>>

>
>
> // It's best to monitor mouse co-ordinates with a dedicated handler:
>
> var mouseX, mouseY;
>
> function getMousePos(e)
> {
> if (!e)
> var e = window.event||window.Event;
>


This manner of coding is not recommendable, IMO. In javascript strict
mode (reporting warnings), Firefox will report that "variable e hides
argument". This manner of coding just makes debugging more difficult.

I recommend
var TheEventObject;
if(e)
{
TheEventObject = e;
}
else if(window.event)
{
TheEventObject = window.event;
}
else
{
TheEventObject = null;
};

> if('undefined'!=typeof e.pageX)
> {
> mouseX = e.pageX;
> mouseY = e.pageY;
> }
> else
> {
> mouseX = e.clientX + document.body.scrollLeft;


This will work in MSIE 5 but what if the document triggers standards
compliant mode in MSIE 6? In such case, the provided code will not
succeed as the root element is not the same.
As written, the code [indirectly] is not promoting web standards. As
written, the code is more backward-compatible than forward-compatible.

> mouseY = e.clientY + document.body.scrollTop;
> }
>
> }
>
> // You need to tell Mozilla to start listening:
>
> if(window.Event && document.captureEvents)
> document.captureEvents(Event.MOUSEMOVE);
>


Why not register the listener to the object with DOM 2 Events method?
It's forward-compatible. Future-proof.

Gérard
--
remove blah to email me
 
Reply With Quote
 
Stephen Chalmers
Guest
Posts: n/a
 
      08-13-2005
Gérard Talbot <> wrote in message news:...
> Stephen Chalmers wrote :
> > scot_nery <> wrote in message news: oups.com...
> >
> > var mouseX, mouseY;
> >
> > function getMousePos(e)
> > {
> > if (!e)
> > var e = window.event||window.Event;
> >

>
> This manner of coding is not recommendable, IMO. In javascript strict
> mode (reporting warnings), Firefox will report that "variable e hides
> argument". This manner of coding just makes debugging more difficult.


That level of warning is intended to advise of possible pitfalls, not errors. I know that if I choose conditionally to
overwrite a passed parameter, then I must be aware that any initial value may be lost.

> > if('undefined'!=typeof e.pageX)
> > {
> > mouseX = e.pageX;
> > mouseY = e.pageY;
> > }
> > else
> > {
> > mouseX = e.clientX + document.body.scrollLeft;

>
> This will work in MSIE 5 but what if the document triggers standards
> compliant mode in MSIE 6?


That can happen only if the programmer brings it about, in which case he will know what to expect and amend the code
accordingly. I didn't want to clutter my demonstration with the cascade of questions that must be asked to cover that
contingency.

> >
> > // You need to tell Mozilla to start listening:
> >
> > if(window.Event && document.captureEvents)
> > document.captureEvents(Event.MOUSEMOVE);
> >

>
> Why not register the listener to the object with DOM 2 Events method?
> It's forward-compatible. Future-proof.
>


Here I must bow to your clairvoyancy, however I don't seem to know the syntax for making it past-proof, which remains a
concern. On the planet where all users upgrade at the first opportunity, your advice may be of some value, but not where
I reside.

--
Stephen Chalmers
547265617375726520627572696564206174204F2E532E2072 65663A205451323437393134



 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Screen Capture With Mouse , Mouse Position Capture Max Java 7 08-08-2009 11:51 PM
determine the mouse cursor position without mouse event tom arnall Java 6 01-18-2007 07:27 PM
Heres a mouse theres a mouse what a mouse do? unholy Gaming 37 09-17-2006 08:59 AM
can't detect mouse click position in Firefox samuelberthelot@googlemail.com Javascript 1 07-07-2006 11:25 AM
detecting mouse click position in canvas tag has position off James Black Javascript 0 05-28-2006 03:27 AM



Advertisments