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

简介: 按一下删除键删除整个单词

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



在文本框倒叙输入一文中提到了设置文本框焦点的javascript代码,


今天就使用这段代码来做一个Demo。


内容就是当删除单词时就一次性删除整个单词,如图所示:


image.png

下面我把示例代码贴上:


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>


相关文章
|
1月前
|
数据安全/隐私保护
【VS2017】怎么调整Tab键的顺序和回车直接登录
【VS2017】怎么调整Tab键的顺序和回车直接登录
16 0
|
1月前
删除指定字母
【1月更文挑战第21天】删除指定字母。
20 0
|
1月前
|
存储 算法 数据处理
删除重复数字
删除重复数字
|
Shell Linux Ubuntu
解决在SecurecCRT登录后,发现方向键、backspace(退格键)、delete(删除键)为乱码的问题
问题:使用securecrt ssh到linux之后,backspace(退格键),delete(删除键),以及4个方向键都为乱码,不能正常使用。按tab键也没有自动补全文件名。 即: 按Backspace(退格键)和delete(删除键)屏幕显示的是:^H 按方向键则屏幕显示的是:^[[A^[[B^[[C^[[D 环境: SecureCRT8.
3499 0
|
10月前
|
SQL 运维 数据库
根据某个特定字符删除一行
根据某个特定字符删除一行
|
9月前
|
Web App开发 缓存
|
11月前
|
Shell Perl
把一个文档前五行中包含字母的行删掉,同时删除6到10行包含的所有字母
把一个文档前五行中包含字母的行删掉,同时删除6到10行包含的所有字母
95 1
|
Python
一日一技:如何移除所有不可见字符?
一日一技:如何移除所有不可见字符?
415 0
一日一技:如何移除所有不可见字符?
ZCMU - 4925: 字符串的查找删除
ZCMU - 4925: 字符串的查找删除
104 0