Я проверил это на своем iPhone, и это, кажется, работает. По какой-то причине после регистрации события touchstart
вы отменяете события клика. Есть ли причина для этого?
Когда вы нажимаете на текст ссылки, все, что она регистрирует, действительно touch start
, поэтому отмена привязки click
ничего не сломит. Однако я верю, что когда вы касаетесь за пределами текстовой ссылки, но все еще в пределах блока, она регистрирует как touchstart
, так и click
, поэтому на данный момент у вас уже есть несвязанный click
, и он работает как обычный ссылка.
Вы должны заметить, что при первом клике за пределами границ он никогда не переходит на yahoo.com. Это делают только один раз.
Итак, по сути, вам нужно удалить это unbind
, вот так:
<script type='text/javascript'>//<![CDATA[
$(function(){
$('.next').bind('click touchstart', function(event) {
event.preventDefault();
$('.msg').append('<p>Click!</p>');
});
});//]]>
</script>
Есть ли какая-то причина, по которой вы хотели бы отстегнуть click
?