Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/367.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 在文本区域中获取光标下的单词_Javascript_Jquery_Html - Fatal编程技术网

Javascript 在文本区域中获取光标下的单词

Javascript 在文本区域中获取光标下的单词,javascript,jquery,html,Javascript,Jquery,Html,我需要为文本区域中的每个单词制作一个工具提示/弹出窗口 那么,可以使用JavaScript或JQuery在文本区域中的光标下获取一个单词吗 我从事件参数(mousemove,hover)中得到的只是光标的位置。(或许不是?) 将textarea中的文本拆分为数组,并在textarea中显示它们的可能位置(使用字符的宽度和高度) 然后在光标位置发送工具提示?虽然这个问题太笼统,但我只能提供这样一个答案,希望它能有所帮助。我认为使用来实现这一点并不好,您需要编写复杂的代码来实现这一点。我建议您使用J

我需要为文本区域中的每个单词制作一个
工具提示
/
弹出窗口

那么,可以使用
JavaScript
JQuery
在文本区域中的光标下获取一个单词吗

我从事件参数(
mousemove
hover
)中得到的只是光标的位置。(或许不是?)

textarea
中的文本拆分为数组,并在
textarea
中显示它们的可能位置(使用字符的
宽度
高度


然后在光标位置发送
工具提示?

虽然这个问题太笼统,但我只能提供这样一个答案,希望它能有所帮助。我认为使用
来实现这一点并不好,您需要编写复杂的代码来实现这一点。我建议您使用JavaScript代码对文本区域中的每个单词运行一个循环,并在其下方为每个单词创建一个子DOM,其中包含一个
。在那里,可以将每个工具提示绑定到每个跨度元素。您也可以在之后隐藏文本区域

因此,将textarea的字符串拆分为单独的单词,使用jQuery为每个单词创建一个span元素,并将所有这些元素附加到另一个容器中


这有意义吗?

虽然这个问题太笼统了,但我只能提供这样一个答案,希望它能有所帮助。我认为使用
来实现这一点并不好,您需要编写复杂的代码来实现这一点。我建议您使用JavaScript代码对文本区域中的每个单词运行一个循环,并在其下方为每个单词创建一个子DOM,其中包含一个
。在那里,可以将每个工具提示绑定到每个跨度元素。您也可以在之后隐藏文本区域

因此,将textarea的字符串拆分为单独的单词,使用jQuery为每个单词创建一个span元素,并将所有这些元素附加到另一个容器中


有意义吗?

到目前为止你自己都试过什么?太广泛了。请包括一个“不尝试”。我只是想找到一个可能的解决办法。我在第四段中所做的只是假设,但也许有一个更好的方法,我认为这是一个有趣的问题。
textarea
的行为非常依赖于平台。即使你将自己限制在一个特定的浏览器中,这仍然是非常困难的。此表单元素并不打算这样做,也不提供有用的功能。这就是为什么我建议您使用另一种呈现文本的方式,比如
。(您可能不知道可以设置属性
contenteditable
,使其行为类似于文本区域)将每个单词包装在
中是我要做的。@jayms就是这样,
contenteditable
。我不知道你自己到目前为止试过什么?太宽了。请包括一个“不尝试”。我只是想找到一个可能的解决办法。我在第四段中所做的只是假设,但也许有一个更好的方法,我认为这是一个有趣的问题。
textarea
的行为非常依赖于平台。即使你将自己限制在一个特定的浏览器中,这仍然是非常困难的。此表单元素并不打算这样做,也不提供有用的功能。这就是为什么我建议您使用另一种呈现文本的方式,比如
。(您可能不知道可以设置属性
contenteditable
,使其行为类似于文本区域)将每个单词包装在
中是我要做的。@jayms就是这样,
contenteditable
。我不知道这件事