Hola Gilbert me pasa lo mismo ami no me ocurre ese refresh de pantalla al hacer clik, con o sin usar el metodo preventDefault funciona de la misma manera, tambien prove en Chrome, firefox y no hace refresh.
ahi tiro el codigo pero no creo haber echo nada raro.
var btn =document.querySelector("#adicionar-paciente");
btn.addEventListener("click",function(){
console.log("me hicieron click");
});
//********************* */
var pacientes = document.querySelectorAll(".paciente");
for (var i = 0; i < pacientes.length; i++) {
var paciente =pacientes[i]
var tdPeso = paciente.querySelector(".info-peso");
var peso = tdPeso.textContent;
var tdAltura = paciente.querySelector(".info-altura");
var altura = tdAltura.textContent;
var imcP = paciente.querySelector(".info-imc");
var pesoCorrecto = true;
var alturaCorrecta = true;
if (peso < 0 || peso >= 1000) {
imcP.textContent = "peso incorrecto";
//styla los colores desde js
/* paciente.style.background= "red";
paciente.style.color = "white"; */
paciente.classList.add("paciente-incorrecto");//classlist.add adiere una clase desde la carpeta de stylos css
pesoCorrecto = false;
}
if (altura < 0 || altura > 3) {
imcP.textContent = "altura incorrecta";
//styla los colores desde js
/* paciente.style.backgroundColor= "red";
paciente.style.color = "white"; */
paciente.classList.add("paciente-incorrecto");
alturaCorrecta = false;
}
if (pesoCorrecto && alturaCorrecta) {
var imc = peso / (altura * altura);
/* imcP.textContent = Math.round(imc); */
imcP.textContent =imc.toFixed(2);// toFixed sirve para colocar cantidad deseada de decimales de netre 0 a 20
}
}