作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我构建了一个计算器,用户可以点击按钮或者他/她可以从下拉列表中选择变量。使用键盘插入被拒绝。现在,当我单击已为退格功能设置的突出显示的后退箭头按钮时,即使我的光标位于使用鼠标的表达式之间,也只会删除最右侧的字符。有没有解决方法可以删除我放置光标的位置之前的字符?我在单击左箭头时使用以下条件:
formulaText.value = formulaText.value.slice(0, formulaText.value.lastIndexOf("("));
最佳答案
您可以在 input
元素上使用 selectionStart
属性。更多信息请参见 this MDN page .下面是一个工作示例。
function getCursorPosition(id) {
return document.getElementById(id).selectionStart;
}
function checkCursorPosition() {
alert(getCursorPosition('testInput'));
}
function backspace() {
var element = document.getElementById('testInput');
var cursorPosition = getCursorPosition('testInput');
element.value = element.value.substring(0, cursorPosition - 1) + element.value.substring(cursorPosition);
element.selectionStart = element.selectionEnd = cursorPosition - 1;
}
<input type="text" id="testInput" value="Example text" />
<button onclick="checkCursorPosition()">Check Cursor Position</button>
<button onclick="backspace()">Backspace</button>
关于javascript - 退格键无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32636322/
我是一名优秀的程序员,十分优秀!