1

我想知道用户何时使用 Javascript 在 html 页面中选择文本。文本不应是可编辑的。该onselect事件似乎只适用于<textarea><input type="TEXT">标签。如果任一标签被禁用,则不会触发该事件。

这些标签有没有办法解决这个问题?

有完全不同的方法吗?

4

3 回答 3

2

当然,这里有一个例子:http: //www.codetoad.com/javascript_get_selected_text.asp

使用您在此处看到的内容,您可以将事件绑定到文档正文的单击/释放事件,并检查是否有选择,以及选择多长时间以确定他们是否选择了任何文本。

StackOverflow 存档:

  1. 当用户在页面上选择文本时会触发什么事件?
  2. Javascript获取网页中选定文本的段落
于 2009-11-24T17:15:52.893 回答
2

您可以捕获mouseUp事件,并检查是否使用window.getSelection().

但是,此方法可能不兼容跨浏览器(window.getSelection())。

编辑:这是一个非常完整的mouseUp绑定示例:http: //mark.koli.ch/2009/09/use-javascript-and-jquery-to-get-user-selected-text.html

于 2009-11-24T17:17:32.017 回答
0

以跨浏览器的方式做到这一点并不容易。在 IE 中,该select事件仅适用于正文文本和表单输入,因此可以执行您想要的操作,但是要检测用户何时以跨浏览器的方式进行了选择,您需要同时处理keyupmouseup事件。即使这样,您也不会检测到选择事件,例如用户使用“全选”菜单选项(通常在“编辑”和右键单击上下文菜单中找到)。因此,您只需定期轮询并检查选择对象的属性(通过IEwindow.getSelection()document.selection在 IE 中获得)。

于 2009-11-24T17:34:57.567 回答