01-09-2013 12:11 AM
I'm a bit stumped on how I can catch when a user releases a slider control. What I'm trying to do is call a webservice and update the resultset only when the user moves the slider to the desired value and releases the control. I'm trying to avoid having a go button (the UI/UX guy at my day job would smack me). I'm handling the onclick event to update the number to the right, but it doesn't seem like any other events are supported; I've tried ontouchend, onmouseup and a few others, but they don't seem to be handled. Any ideas?

01-12-2013 09:31 AM
Right now there isn't an "onendinteraction" event that you would be able to subscribe to on a slider. We implemented just the standard HTML5 slider events into the control
What you could do is in the onchange of the control start a timer with a threshold to see if the user is still interacting with the control.
Pseudo code would look something like the following (CODE MAY NOT EXECUTE, EXAMPLE ONLY)
var myTimer;
function myonchange() {
if (myTimer) {
window.clearTimeout(myTimer);
}
myTimer = window.setTimeout(myTimerResult, 1500); // Wait 1.5sec since last change
}
function myTimerResult() {
myTimer = undefined;
// Do what you need, user is done interacting
}
01-12-2013 05:44 PM
That works. I had actually tried doing a setTimout, but I didn't do a clearTimeout, which is what I was missing.
Thanks Tim!