Hi Clifton,
I have been studying your code and have learnt quite a lot. It's brilliantly concise and efficient. Not like my long-winded stuff. It took me a while to understand exactly how it works. I now see how you are using the click and mouseout events to achieve exactly what I wanted.
I was able to apply your technique to that particular part of my program i.e. changing the number of attempts the student is allowed to do a task but unfortunately it interferes with other things. There are three 'up/down timers': one to set attempts, one to position the task, relative to the media file timecode and one to vary the amount of time the student is allowed to make a recording (including unlimited time). The buttons to alter the position and those to alter the time allowed are in groups. So I have a structure like this:
mousedown for the group sends the
target.name to a function which sets global variables according to requirements (up/down, big/small) which in turn starts a timer which changes values and moves objects accordingly.
The problem is it seems I can't use
target.name if I use the native browser mouse events so my system is unworkable. I suppose I would have to write code for each individual button or is there a better way?
Anyway, don't waste time on it if you're busy. My clunky system apparently produces the same results from the user's point of view. What I fail to understand is why does disabling one button affect all the others?
I thought it might be a good idea to show you what I'm trying to do so I've put a video here
https://youtu.be/Z7idkTxW2owUPDATE I've just had a brainwave.

What about using
tbfunction_userProperty to retrieve
mouseup and
mousedown? I don't have time to do it right now but I'll have a try tomorrow.
John