Impedir que el usuario realice acciones mientras se carga la página

Tengo una aplicación web con pestañas y también creé el almacenamiento en caché de las imágenes antes de las transiciones de la página, así que cuando el usuario accede a una página, me aseguro de que todas las imágenes se descarguen antes de pasar a esa página.

Cuando hago clic en una pestaña con muchas imágenes, muestro una rueda giratoria y empiezo a descargar las imágenes en segundo plano, luego de que termine, mostraré la página.

Pero quiero congelar cualquier entrada o toque de usuario mientras hago esto. Entonces, ¿cuál es el mejor método para congelar y descongelar toda la página?