Как именно event.preventDefault ()влияет на DOM?

По чьему-то совету я добавил эту строку $('body').on('touchstart', function(event){ event.preventDefault() })в свое мобильное веб-приложение, чтобы отключить подпрыгивание нативного приложения в iOS. Он отлично работает для отключения отскока, но дает мне странное поведение в других местах DOM.

События щелчка, которые не работают, и т. д. Я надеялся лучше понять, что это делает и как обойти его последствия в других частях DOM.

Спасибо!

РЕДАКТИРОВАТЬ:

У меня есть эти две строки:

  $('body').on('touchstart', function(e){ e.preventDefault() };
  $('#home').on('click', function(){ alert('home') };

Если я закомментирую строку preventDefault, тогда будет работать строка #home. Если я оставлю его на домашней линии #, он не отвечает. #home— это просто div, вложенный в body.

Любая идея, что может быть причиной такого поведения? Это часть большой кодовой базы, поэтому сложно дать вам все подробности, но я даже не знаю, с чего начать.

Еще раз спасибо!

5
задан fancy 12 August 2012 в 09:57
поделиться