在textarea中获得光标位置,可以通过以下方法实现:
function getCursorPosition(textarea) {
if (textarea.selectionStart) {
return textarea.selectionStart;
} else if (document.selection) {
textarea.focus();
var selection = document.selection.createRange();
var length = document.selection.createRange().text.length;
selection.moveStart('character', -textarea.value.length);
return selection.text.length - length;
}
}
function getCursorPosition(textarea) {
var startPos = textarea.prop('selectionStart');
var endPos = textarea.prop('selectionEnd');
return startPos;
}
<textarea ref="textarea" @input="getCursorPosition"></textarea>
</template><script>
export default {
methods: {
getCursorPosition() {
const textarea = this.$refs.textarea;
const startPos = textarea.selectionStart;
const endPos = textarea.selectionEnd;
return startPos;
},
},
};
</script>
import React, { useRef } from 'react';
function Textarea() {
const textareaRef = useRef(null);
const getCursorPosition = () => {
const textarea = textareaRef.current;
const startPos = textarea.selectionStart;
const endPos = textarea.selectionEnd;
return startPos;
};
return<textarea ref={textareaRef} onInput={getCursorPosition} />;
}
export default Textarea;
这些方法可以在不同的框架和库中使用,以获取textarea中光标的位置。
腾讯位置服务技术沙龙
腾讯技术开放日
GAME-TECH
腾讯技术创作特训营第二季第3期
Elastic 实战工作坊
高校开发者
云+社区沙龙online [新技术实践]
云+社区技术沙龙[第6期]
DBTalk技术分享会
领取专属 10元无门槛券
手把手带您无忧上云