Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/399.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Textarea X/Y插入符号坐标-jQuery插件_Javascript_Jquery_Textarea_Caret - Fatal编程技术网

Javascript Textarea X/Y插入符号坐标-jQuery插件

Javascript Textarea X/Y插入符号坐标-jQuery插件,javascript,jquery,textarea,caret,Javascript,Jquery,Textarea,Caret,我希望在按键向下的文本区域内获得插入符号的X/Y坐标。我一直在努力搜索,但没有任何运气,似乎你可以得到位置,但不能得到屏幕上的X/Y坐标。唯一可行的方法是: 将TEXTAREA的内容附加到DIV 将DIV追加到DOM 将一个跨距放置在DIV内的底部 取SPAN的偏移量($(SPAN).offset()..)减去DIV的偏移量(取决于您想要的是相对于文本区域还是页面的x/y坐标) 注意:将文本从TEXTAREA复制到DIV时,请确保复制可能影响偏移量的相关CSS属性(宽度、高度、填充、边距、边框、

我希望在按键向下的文本区域内获得插入符号的X/Y坐标。我一直在努力搜索,但没有任何运气,似乎你可以得到位置,但不能得到屏幕上的X/Y坐标。

唯一可行的方法是:

  • 将TEXTAREA的内容附加到DIV
  • 将DIV追加到DOM
  • 将一个跨距放置在DIV内的底部
  • 取SPAN的偏移量(
    $(SPAN).offset()
    ..)减去DIV的偏移量(取决于您想要的是相对于文本区域还是页面的x/y坐标)

  • 注意:将文本从TEXTAREA复制到DIV时,请确保复制可能影响偏移量的相关CSS属性(宽度、高度、填充、边距、边框、字体大小、行高等)

    我写jQuery插件就是为了这个。

    做得很好。简单易用。没什么好抱怨的:)@WoIIe:我有一点小抱怨:如果有滚动条,位置可能会偏离一行。另外,.Hi,下一个问题是自动包装的长文本。这是一般的算法,但在这方面有各种细微差别。Component.io团队已经制定了一个简单的解决方案。