插入文本后获取光标位置的可靠方法是什么?

时间:2016-09-06 11:54:23

标签: javascript

在javascript中,事件顺序如下:

  1. KEYDOWN
  2. 按键
  3. 变化
  4. KEYUP
  5. 我用这个获取当前光标位置:

    function getCursorPosition(event) {
      var lines = event.target.value.slice(0, event.target.selectionStart)
      return {
        row: lines.length,
        col: lines[lines.length - 1].length
      }
    }
    

    如果我将函数放在onkeydownonkeypress事件中,则返回值 是插入文本之前的光标位置

    如果我将函数放在onchange事件中,则在我点击时不会调用该函数 arrow键或其他触发光标移动的键。

    如果我将函数放在onkeyup事件中,则在不执行此函数时不会调用该函数 释放键(持有keydown)。

    现在,我能想到的唯一方法是将函数放在onchange和。{ onkeyup。在change中标记onchange个事件。仅在change时调用该函数 keyup上的标志不正确。并将keyup上的change标志设置为false。

    还有更好的方法吗?

0 个答案:

没有答案