Disable bakstegsknappen
27 svar · 705 visningar · startad av Addeladde
Det är ju taskigt ju... :l
Sök på "bakåtknapp" eller "bakåt och klicka", eller något om du absolut måste.
Inte bakåt kanppen i webbläsaren utan bakstegsknappen på tangentbordet. Den knapp som raderar till vänster om markören. Visserligen fungerar den knappen som en webbsidesbakåthopparknapp. Men jag vill att när man trycker på den knappen så ska inget hända.
med en replace kanske
Hur gör man det då?
Förstår fortfarande inte hur det ska hjälpa mig med att om man trycker på bakstegsknappen så går webbläsaren bakåt eller raderar ett tecken.. Den ska ju inte göra det.
Du kan ju lägga in det direkt i fältet också:
<input type="text" onKeyup="this.value=this.value.replace(/^\s+|\s+$/g,'');">
Ha, ha, nu fattar jag, du menar den där raderaknappen(som man nästan använder mest ;))
Men det går nog på någe vis, jag vet inte, faktiskt.
Precis
Fungerar bara i IE:
<script type="text/javascript">
<!--
document.onkeydown = function(){
if(event.keyCode==8) return false;
};
//-->
</script>
Det finns någon specifik kod för Netscape 4 också, som involverar nyckelordet which, men det lämnar jag till någon annan ;)
:)
Det räcker med IE eftersom det är i ett administrationsgränssnitt.
Nu kommer en till fråga.
Om jag bara skulle vilja disabla så att sidan inte går bakåt. Man ska fortfarande kunna radera med knappen. Går det?
Ungefär så här får man skrivaför att få det att funka även i NN.
<script type="text/javascript">
document.onkeydown = function(e)
{
var keyCode = (e ? e.which : event.keyCode);
return (keyCode != 8);
}
</script>
Sökte lite på nätet och hittade en kille som hade samma problem som jag har nu, men koden fungerar inte för mig.
Hi Everyone,
The following code traps the key stroke "backspace" in a web form so that
the user can't navigate back to the last page.
However I would like to engage the function only when the user is not in a
form element.
Does anyone know what code I should use?
Thanks
Bill Marriottfunction mykeyhandler() {
if (window.event && window.event.keyCode == 8) { // try to cancel the
backspace
window.event.cancelBubble = true;
window.event.returnValue = false;
return false;
}
}document.onkeydown = mykeyhandler;
Va bra då, funkar allt nu?
nop
Testa detta:
<script type="text/javascript">
<!--
var f = false;
document.onkeydown = function(){
if(event.keyCode==8 && !f) return false;
};
//-->
</script>
<form>
<input type="text" onfocus="f=true" onblur="f=false">
</form>
<form>
<input type="text" onfocus="f=true" onblur="f=false">
</form>
:)
Det funkade men det måste ju finnas något enklare sätt? Så att man slipper skriva onfocus="f=true" onblur="f=false" på alla fält.
På min sida finns det säkert 100 st sammanlagt i olika lager som visas.
Då skulle du kunna göra så här istället:
var f = false;
document.onkeydown = function(){
if(event.keyCode==8 && !f) return false;
};
window.onload = function(){
for(var i=0; i<document.forms.length; i++){
for(var j=0; j<document.forms[i].elements.length; j++){
document.forms[i].elements[j].onfocus = function(){
f = true;
}
document.forms[i].elements[j].onblur = function(){
f = false;
}
}
}
};
:)