按一下删除键删除整个单词

在文本框倒叙输入一文中提到了设置文本框焦点的javascript代码,今天就使用这段代码来做一个Demo。内容就是当删除单词时就一次性删除整个单词,如图所示:

下面我把示例代码贴上:

 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4  <title></title>
 5     <meta http-equiv="Content-Type" content="text/html;charset=utf-8">
 6     <style>
 7         .content {width: 300px;margin: 0 auto;}
 8     </style>
 9     <script src="http://cdn.staticfile.org/jquery/2.1.1-rc2/jquery.min.js"></script>
10 </head>
11 <body>
12     <div class="content">
13         <textarea name="" id="demo" cols="30" rows="10"></textarea>
14     </div>
15     <script>
16         var getCursortPosition  = function(ctrl) {
17             var CaretPos = 0;
18             // IE Support
19             if (document.selection) {
20                 ctrl.focus();
21                 var Sel = document.selection.createRange();
22                 Sel.moveStart (‘character‘, -ctrl.value.length);
23                 CaretPos = Sel.text.length;
24             }
25             // Firefox support
26             else if (ctrl.selectionStart || +ctrl.selectionStart === 0)
27                 {CaretPos = ctrl.selectionStart;}
28             return (CaretPos);
29         };
30
31         var selectSomeText = function(element,begin,end)
32         {
33             if (element.setSelectionRange)
34             {
35                 element.setSelectionRange(begin,end);
36             }
37             else if (element.createTextRange)
38             {
39                 var range = element.createTextRange();
40                 range.moveStart("character",begin);
41                 range.moveEnd("character",end);
42                 range.select();
43             }
44         };
45
46         var delWholeWord = function(text, field, pos){
47             var startIndex = pos;
48             if (field.charAt(pos-1) !== ‘ ‘){
49                 for (var i=pos-2;i>=0;i--){
50                     if (field.charAt(i) === ‘ ‘ || i === 0){
51                         startIndex = i;
52                         break;
53                     }
54                 }
55                 selectSomeText(text, startIndex, pos)
56             }
57
58         };
59         $(‘#demo‘).keydown(function(event) {
60             if(event.keyCode !== 8) {
61                 return;
62             }
63             var bodyText = $(this)[0];
64             var bodyField = $(this).val();
65             var pos = getCursortPosition(bodyText);
66             delWholeWord(bodyText, bodyField, pos);
67         });
68     </script>
69 </body>
70 </html>
时间: 2024-10-10 16:35:52

按一下删除键删除整个单词的相关文章

统计字符串中的删除的单词个数

public class Demo24 { public static void main(String[] args) { String s = "woaijavahahajavaaiwo"; //原来字符串的长度 int length = s.length(); //删除后的长度 int replace = s.replace("java", "").length(); //删除的总长度 int x =length-replace; //单个

Emacs 不将M-Del删除的单词加入粘贴板

原文:https://jblevins.org/log/clipboard I use a clipboard manager called Copied that syncs previously copied text across all my devices. Short of having an OS X version of Drafts, this is a very efficient way to get text from a Mac to an iOS device. Ho

轻快的VIM(三):删除

这一节我们来看看删除,删除命令比较简单,不过要使删除更有效率 你需要配合我们第一节中讲的各种移动命令 字符删除 x 删除光标所在处字符 X 删除光标所在前字符 这里没有什么可注意的地方,但需要说明一下的是 通常情况下,新手一旦着急便会按着x不动,从而达到删除一大块文本的目的 如果是头几天使用还好说,但从长久考虑,你还需要学习下面的删除命令 单词删除 dw 删除到下一个单词开头 de 删除到本单词末尾 dE 删除到本单词末尾包括标点在内 db 删除到前一个单词 dB 删除到前一个单词包括标点在内

删除字符串中出现次数最少的字符

题目描述 实现删除字符串中出现次数最少的字符,若多个字符出现次数一样,则都删除.输出删除这些单词后的字符串,字符串中其它字符保持原来的顺序. 输入描述: 字符串只包含小写英文字母, 不考虑非法输入,输入的字符串长度小于等于20个字节. 输出描述: 删除字符串中出现次数最少的字符后的字符串. 输入例子: abcdd 输出例子: dd 思路:(我的思路有点绕弯,先记录下来,后面有网友简洁思路),首先把字符串元素存入list中,继续以key-字符,value-出现次数存入map中,然后map按照val

【C++探索之旅】第一部分第十一课:小游戏,猜单词

内容简介 1.第一部分第十一课:小游戏,猜单词 2.第一部分第十二课预告:指针一出,谁与争锋 小练习 上一课<[C++探索之旅]第一部分第十课:文件读写,海阔凭鱼跃>中我们学习了读写文件的知识. 第一部分的课程也快接近尾声了,下一课我们会学习很重要的指针的知识.之后,我们就进入第二部分:面向对象编程了.哈哈哈,激动不? 目前为止,我们也学了不少内容:编译基本原理,IDE,变量,函数,条件语句,循环语句,引用,数组,文件读写,等等.你应该为自己感到自豪. 俗语说得好:实践是最好的老师.我们学了那

算法分析---删除字符串中出现次数最少的字符

编写一个函数,删除字符串中出现次数最少的字符,若多个字符出现次数一样,则都删除.输出删除这些单词后的字符串.字符串中其他字符保持原来的顺序. 格式说明: 字符串仅仅包括字母.不可能为空串,不包括空格,单词仅仅由小写英文字母组成.输入的字符串长度不会超过20个char . 算法思路: (1)定义一个长度为26的整型数组 下标从0-25分别表示a-z这26个小写字母,用来保存字符串中各个字符出现的次数 (由于'a'-'a'=0,'z'-'a'=25刚好与数组的下标相应) "abcdddeeffffx

HBase笔记之远程Shell界面命令行无法删除字符的解决方案

方法一: 设置终端退格键为ASCII 127 在XShell的界面中,设置 文件 --> 属性 --> 终端 --> 键盘 --> BACKSPACE键序列,改为ASCII 127即可. 方法二: 使用Ctrl+退格键 同时按下Ctrl+退格键可以删除. 方法三: 使用Ctrl+W发送信号删除整个单词 直接发送删除整个单词的信号,也可以删除,不过是一次删除整个单词,或者Ctrl+u.Ctrl+k等信号映射键都可以使用. 方法四: 倒着删除 将光标移到要删除的单词前面,倒着删除单词.

vim 基本功能 删除 移动 复制 粘贴

删除 移动 复制 粘贴 以下是普通模式下的四种常用操作 Tip:进入普通模式后,如果发现没有行号,可以进入命令行模式去设置,输入 set nu 删除 x 删除一个字母 dw 删除一个单词 dd 删除一行 d1G 删除至首行 dG 删除至尾行 移动 行内移动 b 跳到前面一个单词 w 跳到后面一个单词 0 跳到该行的行首 $ 跳到该行的行尾 Fa 跳到前面一个字母a fa 跳到后面的一个字母a 行间移动 nG 跳到n行 gg 跳到首行 G 跳到尾行 复制 yw 复制一个单词 yy 复制一行 y1G

linux下vi的复制,黏贴,删除,撤销,跳转等命令

前言 在嵌入式linux开发中,进行需要修改一下配置文件之类的,必须使用vi,因此,熟悉 vi 的一些基本操作,有助于提高工作效率. 一,模式vi编辑器有3种模式:命令模式.输入模式.末行模式.掌握这三种模式十分重要: 命令模式:vi启动后默认进入的是命令模式,从这个模式使用命令可以切换到另外两种模式,同时无论在任何模式下只要按一下[Esc]键都可以返回命令模式. 输入模式:在命令模式中输入字幕“i”就可以进入vi的输入模式编辑文件.在这个模式中我们可以编辑.修改.输入等编辑工作,在编辑器最后一