Wie genau wirkt sich event.preventDefault () auf das DOM aus?

Aufgrund eines Ratschlags von jemandem habe ich diese Zeile hinzugefügt$('body').on('touchstart', function(event){ event.preventDefault() }) in meiner mobilen Web-App, um das native App-Bouncing in iOS zu deaktivieren. Es funktioniert hervorragend zum Deaktivieren des Absprungs, gibt mir aber an anderer Stelle in DOM ein seltsames Verhalten.

Klickereignisse, die nicht funktionieren usw. Ich hatte die Hoffnung, ein besseres Verständnis dafür zu bekommen, was dies bewirkt und wie die Auswirkungen an anderer Stelle im DOM umgangen werden können.

Vielen Dank!

BEARBEITEN:

Ich habe diese zwei Zeilen:

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

Wenn ich das auskommentierepreventDefault Linie dann die#home Linie funktioniert. Wenn ich es in der #home-Zeile lasse, antwortet es nicht.#home ist nur ein Div in der verschachteltbody.

Irgendeine Idee, was dieses Verhalten verursachen könnte? Es ist Teil einer größeren Codebasis, daher ist es schwierig, Ihnen alle Details mitzuteilen, aber ich weiß nicht einmal, wo ich anfangen soll.

Danke noch einmal!

Antworten auf die Frage(1)

Ihre Antwort auf die Frage