Maison >interface Web >js tutoriel >js réalise en appuyant sur la touche Suppr pour supprimer le mot entier avec les compétences demo_javascript
Dans l'article Text Box Flashback Input, le code javascript pour définir le focus de la zone de texte est mentionné. Aujourd'hui, je vais utiliser ce code pour faire une démo. Le contenu est de supprimer le mot entier d'un coup lors de la suppression d'un mot, comme le montre l'image :
Je vais coller l'exemple de code ci-dessous :
<!DOCTYPE html> <html> <head> <title></title> <meta http-equiv="Content-Type" content="text/html;charset=utf-8"> <style> .content {width: 300px;margin: 0 auto;} </style> <script src="http://cdn.staticfile.org/jquery/2.1.1-rc2/jquery.min.js"></script> </head> <body> <div class="content"> <textarea name="" id="demo" cols="30" rows="10"></textarea> </div> <script> var getCursortPosition = function(ctrl) { var CaretPos = 0; // IE Support if (document.selection) { ctrl.focus(); var Sel = document.selection.createRange(); Sel.moveStart ('character', -ctrl.value.length); CaretPos = Sel.text.length; } // Firefox support else if (ctrl.selectionStart || +ctrl.selectionStart === 0) {CaretPos = ctrl.selectionStart;} return (CaretPos); }; var selectSomeText = function(element,begin,end) { if (element.setSelectionRange) { element.setSelectionRange(begin,end); } else if (element.createTextRange) { var range = element.createTextRange(); range.moveStart("character",begin); range.moveEnd("character",end); range.select(); } }; var delWholeWord = function(text, field, pos){ var startIndex = pos; if (field.charAt(pos-1) !== ' '){ for (var i=pos-2;i>=0;i--){ if (field.charAt(i) === ' ' || i === 0){ startIndex = i; break; } } selectSomeText(text, startIndex, pos) } }; $('#demo').keydown(function(event) { if(event.keyCode !== 8) { return; } var bodyText = $(this)[0]; var bodyField = $(this).val(); var pos = getCursortPosition(bodyText); delWholeWord(bodyText, bodyField, pos); }); </script> </body> </html>