Tests that the target of touches match the element where the event originated, not where the touch is currently occurring. This is a limited version of test touch-target.html that avoids the situation where one touch point is released while another is maintained.

On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".



PASS event.type is "touchstart"
PASS event.touches[0].target.id is "targetA"
PASS event.touches[1].target.id is "targetB"
PASS event.targetTouches.length is 1
PASS event.type is "touchstart"
PASS event.touches[0].target.id is "targetA"
PASS event.touches[1].target.id is "targetB"
PASS event.targetTouches.length is 1
PASS event.type is "touchmove"
PASS event.touches[0].target.id is "targetA"
PASS event.touches[1].target.id is "targetB"
PASS event.targetTouches.length is 1
PASS event.type is "touchmove"
PASS event.touches[0].target.id is "targetA"
PASS event.touches[1].target.id is "targetB"
PASS event.targetTouches.length is 1
PASS event.type is "touchmove"
PASS event.touches[0].target.id is "targetA"
PASS event.touches[1].target.id is "targetB"
PASS event.targetTouches.length is 1
PASS event.type is "touchmove"
PASS event.touches[0].target.id is "targetA"
PASS event.touches[1].target.id is "targetB"
PASS event.targetTouches.length is 1
PASS event.type is "touchstart"
PASS event.touches[0].target.id is "targetB"
PASS event.touches[1].target.id is "targetA"
PASS event.targetTouches.length is 1
PASS event.type is "touchstart"
PASS event.touches[0].target.id is "targetB"
PASS event.touches[1].target.id is "targetA"
PASS event.targetTouches.length is 1
PASS event.type is "touchmove"
PASS event.touches[0].target.id is "targetB"
PASS event.touches[1].target.id is "targetA"
PASS event.targetTouches.length is 1
PASS event.type is "touchmove"
PASS event.touches[0].target.id is "targetB"
PASS event.touches[1].target.id is "targetA"
PASS event.targetTouches.length is 1
PASS successfullyParsed is true

TEST COMPLETE

PASS successfullyParsed is true

TEST COMPLETE

