Welcome!

Welcome to the official BlackBerry Support Community Forums.

This is your resource to discuss support topics with your peers, and learn from each other.

inside custom component

Web and WebWorks Development

Reply
New Developer
Posts: 8
Registered: ‎04-04-2008
My Device: Bold 9900 / Dev Alpha B / Playbook
My Carrier: AT&T

How to catch when a user releases a bbUI slider?

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?

 

Ryan Gelinas.
Retired
Posts: 3,708
Registered: ‎10-16-2008
My Device: Z10
My Carrier: Rogers

Re: How to catch when a user releases a bbUI slider?

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 }

 

Tim Neil
Director, Application Platform & Tools Product Management
Follow me on Twitter
Highlighted
New Developer
Posts: 8
Registered: ‎04-04-2008
My Device: Bold 9900 / Dev Alpha B / Playbook
My Carrier: AT&T

Re: How to catch when a user releases a bbUI slider?

That works.  I had actually tried doing a setTimout, but I didn't do a clearTimeout, which is what I was missing.

 

Thanks Tim!

Ryan Gelinas.