When there's a tap the swipe event is fired on Nokia Symbian and Playbook tablet devices (this should not be the case since this is just a tap and not a swipe).  Instead of checking if x2 and y2 are > 0, just checking to see if they are defined fixes this issue.  Also re-factored the code a bit by moving the delta comparison in the conditional check. This has been tested on Playbook, Nokia Symbian, iPad and iPhone devices.
When there's a tap, the swipe event is fired on Nokia Symbian and Playbook tablet devices (this should not be the case since this is just a tap and not a swipe). It seems that there is a slight move when tap event is fired on these devices, so touch.x2 and touch.y2 get set. But because the delta comparison Math.abs(touch.x1 - touch.x2) > 30) and Math.abs(touch.y1 - touch.y2) > 30) are inside the conditional block that checks if touch.x2 or touch.y2 > 0, the last conditional else if ('last' in touch) is never reached. Moving the delta comparison in the conditional check fixes this issue. This has been tested on Playbook, Nokia Symbian, iPad and iPhone devices
Edited src/ajax.js via GitHub
Edited README.rdoc via GitHub
Update test/ajax.html
correct ajaxComplete argument order for JSONP abort and timeout
remove misleading "you need to include touch.js"

"touch.js" is included in the default distribution
add eq() to docs
docs: width() is equivalent to jQuery outerWidth()
document recently added on/off() to README
docs: extend() can be used with multiple objects
it's not WebKit-only anymore
remove confusing note about "extension development"
Fixes fragment func
fix $.each context

Closes #295
exclude FIELDSET elements from serializeArray()

This affected Google Chrome.

Closes #340
for functional tests, show the userAgent to make it easier to compare cross-platform/version results
Add BlackBerry Tablet OS as a primary supported platform
Add new singleTap event, modify behavior for firing tap.

Allows devs to use either "tap" or "singleTap," depending on whether they want to use the 250ms "buffer" for a doubleTap.

Also cache the element for performance, and avoid the target keyword.
Correct misleading instructions in README