Si je vous comprends bien, vous devez empêcher les utilisateurs de quitter la page?
Si oui, la réponse de Marcos Placona est une partie de celui-ci - même si tout ce que vous avez réellement besoin est:
$("a").click(function(e) { e.preventDefault(); });
Vous ne voulez pas les gens aussi à frapper F5 Je devine? Eh bien c'est plus difficile. Prévenir les défauts à la pression des touches, cross-browser est horrible. Mais quelques codes qui fonctionnent dans certains navigateur sont ci-dessous ici:
function disableF5() { // IE
document.onkeydown = function() {
if (window.event && window.event.keyCode == 116) { // Capture and remap F5
window.event.keyCode = 505;
}
if (window.event && window.event.keyCode == 505) { // New action for F5
return false; // Must return false or the browser will refresh anyway
}
}
}
function disableF5v2() { // FIREFOX
$(this).keypress(function(e) {
if (e.keyCode == 116) {
e.preventDefault();
return false;
}
});
}
Cependant, la question cross-browser peut être en partie résolu avec -
window.onbeforeunload = function(e) {
var message = "Your confirmation message goes here.", e = e || window.event;
// For IE and Firefox
if (e) {
e.returnValue = message;
}
// For Safari
return message;
};
espoir que toutes les aides de toute façon. Le dernier morceau de code provient d'une autre question sur ce site here. Rob
qui suppose que toutes les ancres sont liées par jQuery. Pour être sûr que vous devez utiliser $ (a) .unbind ('click'), $ (a) .die(), $ (a) .removeAttr ('onClick') – jAndy
En jQuery> = 1.7, vous devez utiliser '. off() 'au lieu de' .unbind() ' – developius