退格无法正常工作

时间:2015-09-17 17:19:38

标签: javascript jquery

我已经构建了一个计算器,用户可以点击按钮或者他/她可以从下拉列表中选择变量。使用键盘插入被拒绝。现在当我点击已经放置退格功能的突出显示的后退箭头按钮时,即使我的光标放在使用鼠标的表达式之间,也只会删除最右边位置的字符。是否有解决方法在我放置光标的位置之前删除字符?我在左箭头上使用以下条件点击:

formulaText.value = formulaText.value.slice(0, formulaText.value.lastIndexOf("("));

enter image description here

1 个答案:

答案 0 :(得分:3)

您可以使用selectionStart元素上的input属性。更多信息见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>