javascript - On submit, after X seconds, if window blur -
i trying identify if window loses focus after 3 seconds of submit.
currently have this:
$("input").on("submit",function(){ $(window).blur(function(){ console.log(a); }) });
but this, no matter when press submit, if click outside window or minimize window console.log
triggers a
.
this trying achieve:
- user submits form
- in period of 3 seconds, if window loses focus console.log(a);
- after 3 seconds, if window loses focus do nothing.
- if user submits again on same session, repeat step 1.
try this:
$("#form").on("submit",function(){ var blurfunc = function() { console.log(a); } $(window).blur(blurfunc); settimeout(function() { $(window).unbind('blur', blurfunc); }, 3000); });
the settimeout
call unbind blur event after 3 seconds, causing event not fire.
for more info on settimeout
see here: http://www.elated.com/articles/javascript-timers-with-settimeout-and-setinterval/
alternatively, this:
$("#form").on("submit",function(){ var submitted = true; var blurfunc = function() { if(submitted) { console.log(a); } } $(window).blur(blurfunc); settimeout(function() { submitted = false; }, 3000); });
Comments
Post a Comment