Bueno, puede hacerlo utilizando la MutationObserver API .
const inputPasswordElements = document.querySelectorAll('input[type=password]');
const observer = new MutationObserver(function (mutations) {
mutations.forEach(function (mutation) {
if (mutation.type === 'attributes' && mutation.attributeName === 'type') {
mutation.target.value = '';
}
});
});
Array.from(inputPasswordElements).forEach(function (input) {
observer.observe(input, {attributes: true});
});
Esto eliminará la contraseña si se cambia el tipo de entrada. Demo disponible aquí.
¿Pero por qué haría eso? El usuario puede leer la contraseña en la fuente de todos modos, por lo que no le impedirá hacerlo.
Además, tenga en cuenta que ahora es bastante común permitir que el usuario vea su contraseña en un formato de texto simple, para permitirle verificar si hay errores tipográficos antes de enviar un formulario. Si su sitio web no permite esta opción, es muy probable que los usuarios verifiquen la fuente ellos mismos.
No seas hostil con tus usuarios, por favor. Ayúdalos en su lugar.