我有一段我想从中删除完整的一个字符串,当用户按下单个退格键时。例如像在雅虎邮箱。当我们在“To或CC或BCC”部分撰写电子邮件并写入电子邮件地址时,当用户按下单个退格键时,将删除完整的电子邮件地址。 我想要的功能,但在段落中。从段落中删除完整的一个字符串
回答
在退格上删除电子邮件地址只是删除字符,直到您点击space
(或;
取决于您的用例)字符。
所以基本上你真正要问的是:
如何substring
字符串的最后部分,而space
字符是分隔符。
下面是一个简单的代码片段为例:
编辑:
我同时点击退格或删除键更新的片段,以支持插入符号(光标)的位置。
$('#delete').on('click', function(){
var $input = $('#mystring');
var nextStr = deleteUpToSpace($input.val());
$input.val(nextStr);
});
$('#mystring').on('keyup', function(e){
var currentCursorPoisitoin = this.selectionStart;
if(e.keyCode == 8 || e.keyCode == 46){ // backspace or delete keys
\t var $input = $(this);
\t var nextStr = deleteBasedOnPosition($input.val(), currentCursorPoisitoin);
$input.val(nextStr);
}
});
function deleteUpToSpace(str){
var index = str.lastIndexOf(" ");
var nextStr = str.substring(0, index);
return nextStr;
}
function deleteBasedOnPosition(str, position){
var strUpToPosition = str.slice(0, position);
var lastIndexOfSpace = strUpToPosition.lastIndexOf(" ");
var strToRemove = strUpToPosition.substring(lastIndexOfSpace, position);
var nextStr = str.replace(strToRemove, "");
return nextStr;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" id="mystring" value="this is a test string">
<button id="delete">Delete</button>
例如:计算机一个电子设备,它能够接收信息(数据)在一个特定的....我想删除单个退格给出的段落上面的单词。如果用户想要删除单词“信息”,用户从附近特定的鼠标点击然后用户按下退格从这个退格键击中完整的单词“信息”被删除 – sumair
我已经编辑了我的答案以支持'backspace'和'delete'键 –
首先,你需要确定这些分开的不同实体分隔。例如,如果您需要删除段落中的最后一个句子,则分隔符就是句号(或者有些人可能称之为句号)。 然后,您可以通过分隔符拆分字符串,删除最后两个元素(因为最后一个元素本质上是未完成的),然后重新加入。
text.split('.').slice(0,-2).join('.') + '.'
如果您的分隔符是句号。或一般,
text.split(separator).slice(0,-2).join(separator) + separator
见这个JS拨弄我的示范做:https://jsfiddle.net/tt24kfng/1/
你可以尝试将删除最后一个完成的实体,并保持最后未完成完整的有趣的事情。
您可能想要单击退格时删除单词。 您可以使用此代码。
<!doctype html>
<html>
<head>
<title>Test</title>
<meta http-equiv="Content-type" content="text/html;charset=UTF-8">
</head>
<body>
<textarea id="foo"></textarea>
<script type="text/javascript">
document.getElementById('foo').addEventListener("keydown",function(event){
if(event.code=="Backspace"){
var text=document.getElementById('foo').value;
var lastspace = text.lastIndexOf(" ");
var updateStr=text.substring(0,lastspace);
document.getElementById('foo').value=updateStr;
}
});
</script>
</body>
</html>
- 1. 从html字符串拆分段并删除空的段落
- 2. Javascript - 从HTML字符串中删除空的段落
- 3. 从一个字符串中删除一个子字符串
- 4. 如何从段落删除特定字符串
- 5. 删除字符串中的段落标记
- 6. C#从整个字符串中移除整个字符串
- 7. 从字符串中删除段
- 8. 从javascript中的另一个字符串中删除一个字符串
- 9. NSTextView的deleteToBeginningOfLine:删除整个字符串
- 10. 从另一个字符串中删除字符串中的字符的功能
- 11. 删除一个字符串的字符
- 12. 从字符串中删除字符串
- 13. 从字符串中删除字符串
- 14. 段落在一行? (删除换行符)
- 15. 从一个或两个数字中删除一个字符串
- 16. 从字符串中删除N个第一个字符
- 17. 从一个字符串中删除的字符在MASM
- 18. 从字符串的可选点中删除一个字符
- 19. Python:从第一个数字字符中删除字符串
- 20. SQL Server的一个字符串中删除多个字符串
- 21. 从URL段删除查询字符串
- 22. 从整个关联数组中删除特定的字符串
- 23. 从字符串中删除
- 24. 从字符串中删除()
- 25. 从字符串中删除“
- 26. 从字符串中删除“@”
- 27. 从字符串中的某个字符中删除字符
- 28. C++ string :: erase删除整个字符串?
- 29. mysql_real_escape_string删除整个字符串
- 30. stringByReplacingOccurrencesOfString删除整个字符串
我想你的意思是你要删除字符串中的字符,直到你打'space'字符 –
不是单个字符,整个字从一个字符串 – sumair
我没有写一个单个字符我写的字。看看我的答案,例如 –