On Thu, Nov 15, 2007 at 10:08:22AM +0100, Jean-Philippe Encausse wrote:
>
> Hi,
> Is there a way to bind an Event on Mouse Waiting for a given time
> anywhere in the page ?
>
> I mean:
> the mouse move, stop, move, stop, 2 seconds => Event, move, stop,
> clic, move, stop, 2 seconds => Event, ...
>
> I think it is possible to code this behavior with timeout
> stoped/starts but it seems a bit complicated ...
> Does anybody has already did that ?
I don't know of any existing implementation, but it's an interesting idea.
All you should need is to observe the various mouse events on the page and
a timeout, as you said. Maybe something like:
function(idleTime) {
var currentTimeout = null;
var fireIdle = function() {
currentTimeout = null;
$(document).fire('mouse:idle');
};
var resetTimeout = function() {
if (currentTimeout) clearTimeout(currentTimeout);
currentTimeout = setTimeout(fireIdle, idleTime);
};
$w('mouseDown mouseMove ...').each(function(evt) {
Event.observe(document, evt, resetTimeout); });
}(2000);
I didn't bother putting all the mouse events in the list, I'm not 100%
certain I'm using the fire() method properly, and I just coded it off the
cuff with no testing, but there isn't much more to it. With that, all you
need to do is observe document's mouse:idle synthetic event. Note that this
depends on Prototype 1.6.
> Regards,
> Jp
--Greg
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Ruby
on Rails: Spinoffs" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/rubyonrails-spinoffs?hl=en
-~----------~----~----~----~------~----~------~--~---