corgs
17 Aug 2010, 10:46 AM
In trying to investigate the problem mentioned in my previous post (223) I have discovered that there seem to be too many events fired on iPhone & iPad when two fingers are used. The action I am investigating is (a) touch and hold on a target 1 then, without letting go, (b) touch and hold on target 2. So if we only consider touchstart events I would expect a touchstart on target 1 followed by a touchstart on target 2. If I remove the finger from target 2 I would not expect any more touchstart events.
What actually happens (code attached) is that on touch (b) I get two touchstart events (one for each target). Often (but not always) I get another touchstart on removing the finger from target 2.
In my example there are three targets , two green tappables and the grey backplane. Any two of these three can be used as the two targets for testing.
[As a P.S., and not really related to the above, I have been having a look at the code of TouchEventManager and I see in ext-touch-debug.js, in TouchEventManager, in the 'onTouchMove' section
if (track.tap && absDeltaX >= me.tapThreshold || absDeltaY >= me.tapThreshold) {
...it looks to me as though another set of brackets around the 'or' condition might be required.]
What actually happens (code attached) is that on touch (b) I get two touchstart events (one for each target). Often (but not always) I get another touchstart on removing the finger from target 2.
In my example there are three targets , two green tappables and the grey backplane. Any two of these three can be used as the two targets for testing.
[As a P.S., and not really related to the above, I have been having a look at the code of TouchEventManager and I see in ext-touch-debug.js, in TouchEventManager, in the 'onTouchMove' section
if (track.tap && absDeltaX >= me.tapThreshold || absDeltaY >= me.tapThreshold) {
...it looks to me as though another set of brackets around the 'or' condition might be required.]