Nếu tôi hiểu chính xác bạn, bạn cần phải ngăn người dùng điều hướng khỏi trang?
Nếu vậy, câu trả lời Marcos Placona là một phần của nó - mặc dù tất cả những gì bạn thực sự cần là:
$("a").click(function(e) { e.preventDefault(); });
Bạn cũng không muốn mọi người nhấn F5 Tôi đoán? Vâng đó là khó khăn hơn. Ngăn chặn mặc định trên nhấn phím, trình duyệt chéo là khủng khiếp. Tuy nhiên, một vài mã mà làm việc trong một số trình duyệt dưới đây:
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;
}
});
}
Tuy nhiên, vấn đề qua trình duyệt một phần có thể được giải quyết với -
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;
};
Hy vọng rằng tất cả giúp anyway. Đoạn mã cuối cùng là từ một câu hỏi khác trên trang web này here. Rob
giả định tất cả các neo đều bị ràng buộc bởi jQuery. Để chắc chắn một nên sử dụng $ (a) .unbind ('click'), $ (a) .die(), $ (a) .removeAttr ('onClick') – jAndy
Trong jQuery> = 1.7, bạn nên sử dụng '. off() 'thay vì' .unbind() ' – developius