У меня есть маленький jsfiddle - http://jsfiddle.net/qhguktsn/5/. Когда вы нажимаете текст вверху ссылки (iOS mobile Safari), вы получаете только события мыши - никаких событий касания вообще, даже на теле. Если вы нажмете его в нижней части текста, вы получите события касания. Мы зависим от событий касания для обработки задержки 300 мс.
Как мы можем получить события касания для нажатия на верхнюю часть текста, а также на нижнюю?
HTML:
<div style="margin-left:200px;margin-top:200px">
<a style="vertical-align:center;height: 20px, width: 20px;font-size:100px" href="javascript: void 0">text</a>
</div>
JS:
jQuery("a").on("mousedown", function() { document.body.appendChild(document.createTextNode("mousedown ")); });
jQuery("a").on("mouseup", function() { document.body.appendChild(document.createTextNode("mouseup ")); });
jQuery("a").on("touchstart", function() { document.body.appendChild(document.createTextNode("touchstart ")); });
jQuery("a").on("touchend", function() { document.body.appendChild(document.createTextNode("touchend ")); });
jQuery("a").on("click", function() { document.body.appendChild(document.createTextNode("click ")); });
jQuery(document.body).on("touchstart", function() { document.body.appendChild(document.createTextNode("body touchstart ")); });
jQuery(document.body).on("touchend", function() { document.body.appendChild(document.createTextNode("body touchend ")); });