You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在编辑fabric.Textbox时获取当前文本光标位置

fabric.js Textbox编辑时获取光标当前位置的方法

直接读取fabric.Textbox实例的selectionStart属性即可,该属性返回值为从0开始计数的光标位置索引,完全匹配你提到的示例场景需求。

代码示例

直接获取当前光标位置

// 你的fabric.Textbox实例
const textbox = new fabric.Textbox('示例文本内容', {
  left: 50,
  top: 50,
  width: 200
});

// 读取光标位置
const cursorPos = textbox.selectionStart;
console.log(cursorPos); // 示例场景下输出6

监听光标位置变化

如果需要实时捕获光标位置变动,可以绑定selection:changed事件:

textbox.on('selection:changed', function() {
  console.log('当前光标位置:', this.selectionStart);
});

注意事项

  • selectionStart仅在Textbox处于激活编辑状态时返回实时的光标位置,控件未激活时会返回上一次编辑结束时的光标位置,默认初始值为0。
  • 如果存在选中的文本范围,selectionStart返回选中文本的起始位置,selectionEnd返回选中文本的结束位置。

示例场景:光标位置返回值为6

内容的提问来源于stack exchange,提问作者jquery404

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 14:12:02