按下退格键时删除一组字符(Javascript)
Delete a group of characters when backspace is pressed (Javascript)
我有一个文本区域,其中包含由数字和句点初始化的新行:
<textarea autoFocus id="text-area"wrap="hard"
defaultValue ={this.state.textAreaVal} onKeyUp={this._editTextArea}/>
为了说明这一点:
- 1号线
- 2号线
- 3号线
我有一个叫做 onKeyDown 的函数来检查键码是否是退格键:
_editTextArea: function(event) {
var key = event.keyCode;
if (key == 8) {
//remove the whole line if the previous characters are a number followed by a period and then a space
} else {
return true;
}
},
我在这里的目标是删除带有一个退格键的数字和句点(在 microsoft Word 中是如何完成的,想象一下当你到达项目符号或数字或罗马数字并按退格键时有一个有序列表,它不仅会删除整个列表项,还会将您返回到上一个列表项的最后一个字符。
我怎样才能做到这一点?
试试这个,应该给你足够的继续。
<p id="demo"></p>
<script>
function myFunction() {
var str = "Hello world! 12.";
while (str.substring(str.length-1) == "." || isNumber(str.substring(str.length-1)))
{
str = str.substring(0,str.length-1)
}
document.getElementById("demo").innerHTML = str;
}
function isNumber(n) {
return !isNaN(parseFloat(n)) && isFinite(n);
}
</script>
我不知道你到底想要什么,但这也许可以帮助你:
$('textarea').keyup(function (e) {
if (e.keyCode == 8) {
e.preventDefault();
var lines = $('textarea').val().split(''n');
lines.splice(this.value.substr(0, this.selectionStart).split("'n").length-1, 1);
$('textarea').val(lines.join("'n"));
}
})
你可以在这里尝试:https://jsfiddle.net/swnhe2f0/1/
相关文章:
- 如何在javascript中获取一组复选框值
- 简单的Javascript文本编辑器或一组函数
- 如何在 Javascript 中用一组字符拆分子字符串上的字符串
- 如何使用用户定义的相等函数在Javascript中创建一组用户定义的对象
- Jquery从javascript中选择了一组选定的值
- 使用javascript在一组元素上切换类
- 在JavaScript中,从一组数组递归地构建一个字典/嵌套对象
- 通过jquery.html()将一组数据传递给javascript函数
- JavaScript-更改一组包含特定文本和变量ID元素的链接
- 循环遍历一个数组并检索由5个对象组成的组javascript
- 学习JavaScript:有没有办法在不使用个人ID的情况下更改一组图像的图像文件
- 是否可以省略一组中间的 Javascript 函数参数
- 使用 JavaScript 向一组链接中的第一个链接添加一个属性
- 一组图形的Javascript放大镜 - 跨浏览器兼容性
- 如何从一组特定的数字中找到最接近的更高数字:javascript
- 如何使用jQuery/Javascript检查用户是否从一组复选框中选中了至少一个复选框
- 是否有一组限制可用于模拟JavaScript中的函数式编程
- 如何使用 Javascript push() 将一组值推送到数组
- 将一组选中的复选框的值获取到 JavaScript 数组中,并在 ajax 请求中传递它们
- 一组Javascript中的成对数字