Estuve investigando en el foro y en ninguno de los temas creados pude encontrar la solución.
Yo tengo una página que tiene un iframe, dentro del mismo necesito que al intentar salir de la página con el menú superior no lo permita sin grabar primero los datos, logro tomar los eventos pero no los puedo detener.
El código js es el siguiente.
Código:
var salidaValida = 0;
window.onunload = function (elEvento)
{
var e = elEvento || window.event;
if (salidaValida==0)
{
if (e.preventDefault)
{
e.cancel = true;
e.returnValue= "Antes de salir guarde los cambios por favor";
e.cancelBubble=true;
e.preventDefault();
e.stopPropagation();
}
else
{
e.returnValue = false;
e.cancelBubble = true;
}
// alert("No cancelo");
return false;
}
}
function verEvento(elEvento)
{
var evento = elEvento || window.event;
salidaValida = 1;
}
document.onclick = verEvento;
con esto logro determinar si es un link interno o un click desde el menú, pero ni detiene los click interno (si le cambio el if) ni los externos del iframe, me muestra el alert y luego sigue ejecutando el link.
Espero que me puedan dar una idea de que puede estar pasando.
Muchas gracias