javascript常用方法,解决浏览器中Backspace按键回退页面问题

1.javascript解决浏览器中Backspace按键回退页面问题

以下代码复制到页面即可解决,浏览器中Backspace按键回退页面问题

//判断操作返回时,阻止发生
function banBackSpace(e) {
  var ev = e || window.event;
  //各种浏览器下获取事件对象
  var obj = ev.relatedTarget || ev.srcElement || ev.target || ev.currentTarget;
  //按下Backspace键
  if (ev.keyCode == 8) {
   var tagName = obj.nodeName //标签名称
   //如果标签不是input或者textarea则阻止Backspace
   if (tagName != 'INPUT' && tagName != 'TEXTAREA') {
    return stopIt(ev);
   }
   var tagType = obj.type.toUpperCase();//标签类型
   //input标签除了下面几种类型,全部阻止Backspace
   if (tagName == 'INPUT' && (tagType != 'TEXT' && tagType != 'TEXTAREA' && tagType != 'PASSWORD')) {
    return stopIt(ev);
   }
   //input或者textarea输入框如果不可编辑则阻止Backspace
   if ((tagName == 'INPUT' || tagName == 'TEXTAREA') && (obj.readOnly == true || obj.disabled == true)) {
    return stopIt(ev);
   }
  }
 }
 
 //通用阻止
 function stopIt(ev) {
  if (ev.preventDefault) {
   //preventDefault()方法阻止元素发生默认的行为
   ev.preventDefault();
  }
  if (ev.returnValue) {
   //IE浏览器下用window.event.returnValue = false;实现阻止元素发生默认的行为
   ev.returnValue = false;
  }
  return false;
 }
 
 //页面初加载
 $(function() {
  //实现对字符码的截获,keypress中屏蔽了这些功能按键
  document.onkeypress = banBackSpace;
  //对功能按键的获取
  document.onkeydown = banBackSpace;
 })

2.javascript解决页面禁止复制等操作

body标签后面加上
oncontextmenu='return false' //禁止右键
οndragstart='return false' //禁止拖动
onselectstart ='return false' //禁止选中
οnselect='document.selection.empty()' //禁止选中
οncοpy='document.selection.empty()' //禁止复制
onbeforecopy='return false' // 禁止复制
οnmοuseup='document.selection.empty()'

html案列源码-页面右键不起作用,页面不能复制

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<style type="text/css">
*{
  padding: 0;
  margin: 0;
}
.news {
  width: calc(100% - 50px);
  border: 1px solid gray;
  padding: 20px 15px ;
  margin: 10px;
}
.news h2{
  padding-bottom: 5px;
  color: orange;
  font-weight: bold;
}
.news ul{
   padding:5px 10px ;
   background: white;
}
.news ul li{
  list-style: none;
  height: 30px;
  line-height: 30px;
  border-bottom: 1px dashed gray;
  text-indent: 15px;
  font-size: 14px;
}
.news a{
  text-decoration: none;
  color: #06C;
}
.news a:hover{
  text-decoration: underline;
  color: red;
}

</style>

<body oncontextmenu="return false" onbeforecopy="return false">
  <div class="news">
    <h2>CSDN 好的资源源码  - 记录保存</h2>
    <ul>
       <li><a href="https://blog.csdn.net/weixin_43151418/article/details/124710999" target="_blank">★★★★★【博主推荐】html界面绘制SVG图形(附源码)</a></li>
       <li><a href="https://blog.csdn.net/weixin_43151418/article/details/124689160" target="_blank">★★★★★【博主推荐】html下拉框树形(附好看的登录界面)</a></li>
       <li><a href="https://blog.csdn.net/weixin_43151418/article/details/124686960" target="_blank">★★★★★【博主推荐】html操作SVG图(附源码)</a></li>
       <li><a href="https://blog.csdn.net/weixin_43151418/article/details/124684028" target="_blank">★★★★★【博主推荐】HTML5响应式手机WEB(附源码)</a></li>
       <li><a href="https://blog.csdn.net/weixin_43151418/article/details/124658533" target="_blank">★★★★★【博主推荐】SSM框架的后台管理系统(附源码)</a></li>
       <li><a href="https://blog.csdn.net/weixin_43151418/article/details/124627153" target="_blank">★★★★★【博主推荐】html后台管理系统框架(附源码)</a></li>
	   <li><a href="https://blog.csdn.net/weixin_43151418/article/details/124624827" target="_blank">★★★★☆【博主推荐】大数据可视化大屏(源码下载)</a></li>
	   <li><a href="https://blog.csdn.net/weixin_43151418/article/details/124746163" target="_blank">★★★★☆【博主推荐】HTML制作一个美观的个人简介网页(附源码)</a></li>
	   <li><a href="" target="_blank">★★★★☆ </a></li>
     </ul>
   </div>
</body>

</html>

效果图
在这里插入图片描述

3.js获取上下左右按键操作,且滚动条不受影响

//控制键盘上下左右按钮
 document.onkeydown = function (event) {
     var e = event || window.event || arguments.callee.caller.arguments[0];
     if(e){
         switch(e.keyCode){
             case 37://←
                alert("单击了左按键");
                 break;
             case 38://↑
                 //点击键盘上下键,页面右侧滚动条不随之上下滚动
                 if (e.preventDefault) {
                     e.preventDefault();
                 } else {
                     e.returnValue = false;
                 }
                alert("单击了上按键");
                 break;
             case 39://→
                alert("单击了右按键");
                 break;
             case 40://↓
                 //点击键盘上下键,页面右侧滚动条不随之上下滚动
                 if (e.preventDefault) {
                     e.preventDefault();
                 } else {
                     e.returnValue = false;
                 }
                alert("单击了下按键");
                 break;
         }
     }
 };

优质资源分享

🧡🧡🧡🧡🤍【总览】程序员前端、后端资源合集

🧡🧡🧡🧡🤍【源码】程序员优质资源汇总

🧡🧡🧡🧡🤍【博主推荐】JAVA SSM框架的后台管理系统(附源码)

🧡🧡🧡🧡🤍【博主推荐】SpringBoot API接口对数据库增删改查,路由,TOKEN,WebSocket完整版(附源码)

🧡🧡🧡🧡🤍【博主推荐】HTML制作一个美观的个人简介网页(附源码)

🧡🧡🧡🧡🤍【博主推荐】html好看的个人简历网页版(附源码)

🧡🧡🧡🧡🤍【博主推荐】html好看的个人主页(附源码)

🧡🧡🧡🧡🤍【博主推荐】html好看的邀请函(附源码)

🧡🧡🧡🧡🤍【博主推荐】html好看的音乐播放器(附源码)

🧡🧡🧡🧡🤍【博主推荐】html好看的拼图小游戏(附源码)

🧡🧡🧡🤍🤍【博主推荐】html好看的拼图验证码(附源码)

🧡🧡🧡🧡🧡【博主推荐】html界面绘制SVG图形(附源码)

🧡🧡🧡🧡🤍【博主推荐】html操作SVG图(附源码)

🧡🧡🧡🧡🤍【博主推荐】html下拉框树形(附好看的登录界面)

🧡🧡🧡🧡🤍【博主推荐】HTML5响应式手机WEB(附源码)

🧡🧡🧡🧡🤍【博主推荐】大数据可视化大屏(源码下载)

🧡🧡🧡🧡🧡【博主推荐】html引用百度地图定位闪烁弹框树形(附源码)

🧡🧡🧡🧡🤍【博主推荐】HTML酷炫动画表白求爱界面(附源码)


     💞 关注博主 带你实现畅游前后端

     🏰 加入社区 带你体验马航不孤单

     💯 神秘个人简介 带你体验不一样得介绍

     🎀 酷炫邀请函 带你体验高大上得邀请

     亲,码字不易,动动小手,欢迎 点赞 ➕ 收藏,如 🈶 问题请留言(评论),博主看见后一定及时给您答复,💌💌💌

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 在C语言,使用backspace回删可以通过以下代码实现: ```c #include <stdio.h> #include <stdlib.h> #include <conio.h> int main() { char str[100]; int i = 0; printf("请输入字符串:\n"); while(1) { char ch = getch(); if(ch == '\r') // 如果输入回车,结束输入 { str[i] = '\0'; // 字符串以'\0'结尾 break; } else if(ch == '\b') // 如果输入backspace { if(i > 0) { i--; printf("\b \b"); // 先输出backspace,再输出空格,最后再输出backspace } } else { str[i] = ch; i++; printf("%c", ch); } } printf("\n您输入的字符串为:%s\n", str); return 0; } ``` 在上述代码,使用了`getch()`函数来获取盘输入的字符,如果输入的是回车,就结束输入;如果输入的是backspace,就将字符串的字符删除一个,并在控制台上输出backspace、空格、backspace来模拟回删的效果。 ### 回答2: 在C语言,使用backspace回删是通过使用特定的转义字符来实现的。在输出时,我们可以使用"\b"来表示backspace。当我们想要删除一个字符时,可以使用backspace将光标移动到要删除的字符的前一个位置,然后输出backspace来覆盖要删除的字符。这将使得前一个字符被覆盖,从而实现删除的效果。以下是一个简单的示例代码,演示了如何在C语言使用backspace回删一个字符: #include <stdio.h> int main() { char str[] = "Hello"; int i; printf("Before backspace: %s\n", str); for (i = 0; i < 5; i++) { printf("\b \b"); // 将光标移到前一个位置并输出空格字符 } printf("After backspace: %s\n", str); return 0; } 在上面的代码,我们首先定义了一个包含字符的字符串"Hello"。然后,我们使用一个循环来使用backspace回删字符串的每个字符。每次循环,我们使用"\b"来将光标移到前一个位置,并输出一个空格字符来覆盖要删除的字符。最后,我们通过输出字符串来验证backspace回删的效果。 需要注意的是,这个例子仅仅是一种简单的模拟backspace回删的方式。在实际应用,根据不同的情况,我们需要根据具体需求进行处理,以实现更加复杂的回删操作。 ### 回答3: 在C语言,想要通过backspace来实现回删功能,需要使用转义字符'\b'来控制光标的位置。当我们想要回删一个字符时,可以使用printf函数的特性来实现。 首先,我们可以使用'\b'将光标移动到当前位置的前一个位置,然后再输出一个空格字符' ',再使用'\b'将光标移动到空格字符的位置上。这样就相当于实现了一个回删的效果。 示例代码如下: ```c #include <stdio.h> int main() { char str[100]; int i = 0; printf("请输入一段文字:"); while (1) { str[i] = getchar(); if (str[i] == '\n') { str[i] = '\0'; // 结束输入 break; } else if (str[i] == '\b') { if (i > 0) { printf("\b \b"); // 回删一个字符 i--; } } else { putchar(str[i]); i++; } } printf("\n输入的文字是:%s\n", str); return 0; } ``` 在这个示例,我们使用了一个while循环来逐个获取输入的字符,并存储在字符数组str。当获取到回车符时,表示输入结束,我们通过给字符数组最后一个元素赋值'\0'来结束字符串。当获取到退格符'\b'时,我们判断是否还有可以回删的字符(即i是否大于0)。如果有,就使用printf函数来移动光标并输出空格字符,然后再移动光标回到空格字符的位置上,相当于实现了回删一个字符的效果。如果没有可以回删的字符,则不做任何操作。如果获取到的字符不是回车符和退格符,则直接输出该字符并将i递增1。 最后,我们通过printf函数输出整个输入的字符串,即回显用户输入的文字,并将其赋值给str字符串,方便后续的操作。 这样,就通过使用转义字符'\b'和printf函数,实现了C语言的回删功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xcLeigh

万水千山总是情,打赏两块行不行

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值