Testing whether an event has happened after a period of time in jQuery

Posted by chrism on Stack Overflow See other posts from Stack Overflow or by chrism
Published on 2010-06-01T08:53:14Z Indexed on 2010/06/01 9:13 UTC
Read the original article Hit count: 224

Filed under:
|
|

I'm writing a script for a form-faces xforms product that is keyed off an event built into form faces. The event is called 'xforms-ready'. I have define 'startTime' as happening as soon as the document in 'ready'. What I want the script to do is warn the user that it is taking too long before the 'xforms-ready' happens, say if it's been 6 seconds since 'startTime'. I can easily do things when the 'xforms-ready' event happens using the code below:

new EventListener(document.documentElement,
  "xforms-ready",
  "default",
  function() {
    var endTime = (new Date()).getTime();
  }
);

however the warning will want to happen before 'endTime' is defined. So I guess I want something that works like this:

If 6 seconds has passed since startTime and endTime is not yet defined do X

or possibly more efficiently:

If 6 seconds has passed since startTime and 'xforms-ready' has not yet happened do X

Can anyone suggest a way of doing this?

© Stack Overflow or respective owner

Related posts about JavaScript

Related posts about jQuery