How are planetary landers to low gravity bodies (such as the Moon, asteroids) designed to hold on to the surface without bouncing off after touching the surface?
You need to divide between heavy bodies with a significant field of gravity and light bodies, around which you can experience microgravity (also called µg-environment) only.
On the surface of the Moon, you can experience about 0.17 g. This looks like a small number, but it is still fairly sufficient for a 'normal landing'.
In the case of asteroids and comets, you are looking at fields of gravity, which are many orders of magnitude weaker than one g. Operating in the proximity of such a body or 'landing' on it is technically more some sort of rendezvous and docking manoeuvre. This basically means, that you need to attach a lander to the surface of a celestial body. It also means, that based on current engineering thought, everything has to happen really careful and most importantly slow.
A rather prominent example is Philae, which is supposed to land on the comet 67P/Churyumov-Gerasimenko. It is part of the Rosetta mission. The lander uses a mix of harpoons, for final approach, and screws inside the landing gears, for fixing it to surface (in the docking analogy, this is then achieving hard dock). At the surface, Philae is expected to be confronted with about 5.35e-06 g or 5.35 µg (based on the comet's estimated mass of 3.14e12 kg and an approximate diameter of 4 km) - illustrating the difference to the Moon.