Nasıl geri navigasyon geri tuşuna engelleyebilir miyim?
YANİ (çok standart dışı, ama çalışma) jQuery ile bunu yapabilirim
if ($.browser.msie)
$(document).keydown(function(e) { if (e.keyCode == 8) window.event.keyCode = 0;});
Ama bir bonus çapraz tarayıcı bir şekilde Firefox, ya da çalışır bir şekilde yapmak mümkün mü?
Kayıt için:
$(document).keydown(function(e) { if (e.keyCode == 8) e.stopPropagation(); });
hiçbir şey yapmaz.
$(document).keydown(function(e) { if (e.keyCode == 8) e.preventDefault(); });
problemi çözer, ama işler backspace özgün davranış daha kötüsü de bu sayfada kullanılamayan anahtar.
EDİT: Bunu sebebi basit bir web sayfası ama büyük bir uygulama oluşturma değilim. İnanılmaz derecede sinir bozucu Geri Al yanlış yere bastın diye işe 10 dakika kaybederiz. Engelleyen hatalar vs can sıkıcı kullanıcılarının oranı geri navigasyon geri tuşuna engelleyerek yol 1000/1 üzerinde olmalıdır.
EDİT2: bendeğiltarih engellemeye çalışan navigasyon, kaza sadece.
EDİT3: @yorum brentonstrines (soru bu kadar popüler olduğu için buraya taşındı): "Bu, uzun vadeli '' ama Chromium bug to change this behavior in webkit arkasında . destek atmak olabilir bir düzeltme
CEVAP
Bu kod sorunu, en azından IE ve Firefox (diğer test etmedim, ama eğer sorun bile diğer tarayıcılar varsa da makul bir şans ver) çözer.
// Prevent the backspace key from navigating back.
$(document).unbind('keydown').bind('keydown', function (event) {
var doPrevent = false;
if (event.keyCode === 8) {
var d = event.srcElement || event.target;
if ((d.tagName.toUpperCase() === 'INPUT' &&
(
d.type.toUpperCase() === 'TEXT' ||
d.type.toUpperCase() === 'PASSWORD' ||
d.type.toUpperCase() === 'FILE' ||
d.type.toUpperCase() === 'SEARCH' ||
d.type.toUpperCase() === 'EMAIL' ||
d.type.toUpperCase() === 'NUMBER' ||
d.type.toUpperCase() === 'DATE' )
) ||
d.tagName.toUpperCase() === 'TEXTAREA') {
doPrevent = d.readOnly || d.disabled;
}
else {
doPrevent = true;
}
}
if (doPrevent) {
event.preventDefault();
}
});
Nasıl git reset --hard HEAD~1 geri ala...
Nasıl bir setTimeout için bir parametr...
Nasıl bir github belirli bir taahhüt d...
Nasıl ActiveRecord geri çalışan kurtul...
Nasıl gıt dallar arasında geçiş yapark...