动态更新特定HTML元素中的选定文本
Dynamically update selected text in particular HTML element
我正在尝试动态更新特定HTML元素中的文本选择。为此,链接功能包含
element.on('mouseup', function(event) {
var text = "";
if (window.getSelection) {
text = window.getSelection().toString();
} else if (document.selection && document.selection.type != "Control") {
text = document.selection.createRange().text;
}
(部分取自https://stackoverflow.com/a/5379408/353337)。在element
中单击并选择文本时,此操作效果良好。
这样做的问题是mouseup
事件仅在特定的element
上被截获。如果我单击页面上的其他任何位置,元素中的文本也会被取消选择,当然,但事件永远不会触发。
如何确保text
始终包含元素中的选定文本?
我认为您必须在整个文档中侦听事件。JSFiddle
为了检查标记的单词是否是单词的一部分(或相同),我使用了indexOf函数,如果单词相等,则返回0;如果单词是单词的部分,则返回1。所以我比较了大于或等于0。
$(document).on('mouseup', function (e){
var text = "";
if (window.getSelection) {
text = window.getSelection().toString();
} else if (document.selection && document.selection.type != "Control") {
text = document.selection.createRange().text;
}
var elementText = $(".element").text();
if(elementText.indexOf(text) >= 0) {
alert(true);
}
else {
alert(false)
}
});
相关文章:
- 我收到消息“资源解释为脚本,但使用 MIME 类型文本/html 传输”
- 如何使按钮单击并更改以前显示的文本(html)
- 使用 Javascript 解析电子邮件源的文本/html 部分
- Javascript/jQuery,将CSS应用于包含特定文本/html的元素
- jQuery文本html操作,以查找大量文本中出现的字符,然后更改其颜色
- 使用 Jquery 创建具有转义文本 + HTML 的元素
- 在空节点(如文本节点)中添加文本/html
- 从网站获取特定文本 (html)
- 如何解决“资源解释为脚本但使用 MIME 类型文本/html 传输”
- 请求 JSONP 时的文本/html 输出
- 将元素添加到 DOM 给定的纯文本 HTML 中,仅使用纯 JavaScript(没有 jQuery)
- 在gmail撰写邮件区域中获取选中/突出显示的文本html
- 如何确定是否在父元素的开始或结束存在文本?HTML DOM &JavaScript
- 在输入文本html中显示格式
- 如何使纯文本html javascript
- 资源解释为脚本,但传输MIME类型文本/html javascript
- 从Javascript传递文本- HTML- PHP
- 从DOM对象中获取文本/html
- 脚本类型=“文本/ html"从文件中包含HTML
- jsFiddler.NET中的文本/HTML编辑器