var ignoreTouchMoveListener = function (e) { var el = e.target; do { if (el.id === "idToIgnore") { return; } } while (el = el.parentNode); e.preventDefault(); }; document.body.addEventListener("touchmove", ignoreTouchMoveListener, false);
Coupled with setting UIWebViewBounce to false, the page seems to stay stays solidly fixed, with just the appropriate dynamic lists being scrollable.