Javascript .Net-禁用在用户单击“时返回一页”;退格“;键盘按钮

Javascript .Net-禁用在用户单击“时返回一页”;退格“;键盘按钮,javascript,browser,navigation,Javascript,Browser,Navigation,基本上,有时我需要显示一个预先填充了记录的表单。根据用户权限的不同,他可能无法编辑数据 我遇到的问题是,有时用户会试图编辑一个已被禁用的文本框,方法是单击该文本框并点击“backspace”按钮编辑文本。这会导致浏览器返回一页。。。烦人。如果是asp.net,您可以这样做: <script language=javascript> function cancelBack() { if ((event.keyCode == 8 ||

基本上,有时我需要显示一个预先填充了记录的表单。根据用户权限的不同,他可能无法编辑数据


我遇到的问题是,有时用户会试图编辑一个已被禁用的文本框,方法是单击该文本框并点击“backspace”按钮编辑文本。这会导致浏览器返回一页。。。烦人。

如果是asp.net,您可以这样做:

<script language=javascript>   

    function cancelBack()   
    {   
        if ((event.keyCode == 8 ||    
           (event.keyCode == 37 && event.altKey) ||    
           (event.keyCode == 39 && event.altKey))   
            &&    
           (event.srcElement.form == null || event.srcElement.isTextEdit == false)   
          )   
        {   
            event.cancelBubble = true;   
            event.returnValue = false;   
        }   
    }   

</script>   
<body onkeydown=cancelBack()>   

函数cancelBack()
{   
如果((event.keyCode==8 | |
(event.keyCode==37&&event.altKey)|
(event.keyCode==39&&event.altKey))
&&    
(event.srcmelement.form==null | | event.srcmelement.isTextEdit==false)
)   
{   
event.cancelBubble=true;
event.returnValue=false;
}   
}   

如果是asp.net,您可以这样做:

<script language=javascript>   

    function cancelBack()   
    {   
        if ((event.keyCode == 8 ||    
           (event.keyCode == 37 && event.altKey) ||    
           (event.keyCode == 39 && event.altKey))   
            &&    
           (event.srcElement.form == null || event.srcElement.isTextEdit == false)   
          )   
        {   
            event.cancelBubble = true;   
            event.returnValue = false;   
        }   
    }   

</script>   
<body onkeydown=cancelBack()>   

函数cancelBack()
{   
如果((event.keyCode==8 | |
(event.keyCode==37&&event.altKey)|
(event.keyCode==39&&event.altKey))
&&    
(event.srcmelement.form==null | | event.srcmelement.isTextEdit==false)
)   
{   
event.cancelBubble=true;
event.returnValue=false;
}   
}   

您需要捕获javascript中的键盘事件并停止其执行。您正在使用的服务器端代码(ASP.NET)没有什么区别

window.onkeydown = function(event) {
 if(event.keyCode == 8)
    return false;
}

刚刚在Chrome中测试过,它似乎可以工作

您需要用javascript捕获键盘事件并停止它的执行。您正在使用的服务器端代码(ASP.NET)没有什么区别

window.onkeydown = function(event) {
 if(event.keyCode == 8)
    return false;
}

刚刚在Chrome中测试过,它似乎可以工作

如果您有文档准备功能,请将其放在文档准备功能下

window.onkeydown = function (event) 
{
          if (event.keyCode == 8) {
              return false;
          }
}

如果有文档准备功能,请将其置于文档准备功能下

window.onkeydown = function (event) 
{
          if (event.keyCode == 8) {
              return false;
          }
}

您希望如何将这种行为与喜欢使用键盘导航并真心希望返回的用户区分开来?现在你要惹恼他们了。你希望如何区分这种行为与喜欢使用键盘导航并真心希望返回的用户?现在你要惹恼他们了。你有一个大的输入错误,代码应该是window.onkeydown=function(event){if(event.keyCode==8){return false;}}}你有一个大的输入错误,代码应该是window.onkeydown=function(event){if(event.keyCode==8){返回false;}}