我有將 (.) 轉換為 (?) 的代碼,但我想在將點 (.) 轉換為 (?) 后將其左移一個位置,如果我們寫 [abcdef .] 它應該在按下點鍵后變成 [abcdef?]洗掉左側的空格,如果我們寫 [abcdef.] 它應該在按下點鍵后變成 [abcde?] 洗掉左側最近的字符
<!doctype html>
<html dir='ltr' lang='en-GB'>
<head>
<meta charset="UTF-8">
<title>test page</title>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<script language="javascript" type="text/javascript">
$(function() {
$('textarea').on("keyup", function(e) {
if (e.key === '.') {
const index = this.selectionStart;
const text = $(this).val();
if (index > 0 && text.charAt(index - 1) === '.') {
$(this).val(text.substr(0, index - 1) '?' text.substr(index));
this.selectionStart = index;
this.selectionEnd = index;
}
}
});
});
</script>
</head>
<body>
<textarea></textarea>
</body>
</html>
uj5u.com熱心網友回復:
只是改變:
$(this).val(text.substr(0, index - 1) '?' text.substr(index));
到:
$(this).val(text.substr(0, index - 2) '?' text.substr(index));
那一行是設定textarea的值,它是把原始文本的子串從0到'.'的位置。(指數)。如果您更改為負 2,它將在 '.' 前多加一個字符。正如你所問的。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/380676.html
標籤:javascript 查询 代替
上一篇:以角度顯示按鈕
