我尝试动态更新特定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
始终包含元素中的选定文本?
答案 0 :(得分:1)
我认为你必须听取整个文件的意见。 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)
}
});