如何在编辑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返回选中文本的结束位置。

内容的提问来源于stack exchange,提问作者jquery404
相关产品推荐
相关产品推荐

