gpt4 book ai didi

jquery - 获取 contenteditable div 中的光标位置

转载 作者:行者123 更新时间:2023-11-28 04:25:48 30 4
gpt4 key购买 nike

我在 SO 上找到了以下代码来获取可内容编辑的 div 的光标位置,但它始终返回 0。

应该检索位置的函数:

new function($) {
$.fn.getCursorPosition = function() {
var pos = 0;
var input = $(this).get(0);
// IE Support
if (document.selection) {
input.focus();
var sel = document.selection.createRange();
var selLen = document.selection.createRange().text.length;
sel.moveStart('character', -input.value.length);
pos = sel.text.length - selLen;
}
// Firefox support
else if (input.selectionStart || input.selectionStart == '0')
pos = input.selectionStart;

return pos;
}
} (jQuery);

我用来测试的代码:

$('div.MESSAGE_OF_DAY').keyup(function() {
alert($(this).getCursorPosition()); // always returns 0???
});

如果重要的话,我正在使用 Chrome (8.0.552.215)。

最佳答案

您找到的函数是用于在输入或文本区域中查找插入符号或选择,而不是可内容编辑元素。可以使用浏览器的 Selection 根据 DOM 节点和该节点内的偏移量获得插入符号/选择边界位置。对象获得 Range .我建议阅读这些对象(我提供的链接是一个很好的起点)。在 Internet Explorer 中,此过程完全不同,但您可以使用我的 Rangy消除差异的库。

关于jquery - 获取 contenteditable div 中的光标位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4381205/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com