/** * @ignore * gesture tap or click for pc * @author yiminghe@gmail.com */ KISSY.add('event/dom/touch/tap', function (S, eventHandleMap, Event, SingleTouch) { var event = 'tap'; function Tap() { } S.extend(Tap, SingleTouch, { onTouchMove: function () { return false; }, onTouchEnd: function (e) { Event.fire(e.target, event, { touch: e.changedTouches[0] }); } }); eventHandleMap[event] = new Tap(); return Tap; }, { requires: ['./handle-map', 'event/dom/base', './single-touch'] }); /** * @ignore * * yiminghe@gmail.com 2012-10-31 * * 页面改动必须先用桌面 chrome 刷新下,再用 ios 刷新,否则很可能不生效?? * * why to implement tap: * 1. click 造成 clickable element 有 -webkit-tap-highlight-color 其内不能选择文字 * 2. touchstart touchdown 时间间隔非常短不会触发 click (touchstart) * 3. click 在touchmove 到其他地方后仍然会触发(如果没有组织touchmove默认行为导致的屏幕移动) * * tap: * 1. 长按可以选择文字, * 可以选择阻止 document 的 touchstart 来阻止整个程序的文字选择功能: * 同时阻止了touch 的 mouse/click 相关事件触发 * 2. 反应更灵敏 * * https://developers.google.com/mobile/articles/fast_buttons */