在JavaScript中,有多种方法可以访问用户的文本选择,以及创建文本选择(或范围) - 请参阅http://www.quirksmode.org/dom/range_intro.html.
根据该页面,您可以以编程方式创建范围,并访问其中的文本.但这样做并不会改变用户的文本选择,或者如果用户没有选择文本,则会使用户选择一些文本.
您可以在JavaScript中设置和/或更改用户的文本选择吗?
我正在尝试学习如何编写一个书签,我可以突出显示一些文本,点击书签,让它告诉我突出显示的是什么.我可以做到这一点,但接下来我想知道文本是什么元素.
例如:
<div id="some-id">to be highlighted</div>
Run Code Online (Sandbox Code Playgroud)
小书签代码:
javascript:(function(){alert(window.getSelection();})()
Run Code Online (Sandbox Code Playgroud)
如果我突出显示"要突出显示"文本,然后单击书签,它将提醒文本.但是我怎样才能获得文本所在的元素,在这种情况下是之后的元素?
所以流程是:突出显示文本,单击bookmarklet,bookmarklet告诉您突出显示的内容及其所在的元素.
谢谢!
以下代码应该围绕具有跨度的给定Div中的突出显示文本.
$(document).ready(function(){
$('.format').click(function(){
var highlight = window.getSelection();
var spn = '<span class="highlight">' + highlight + '</span>';
$('.conttext').content().replace(highlight, spn);
});
});
Run Code Online (Sandbox Code Playgroud)
这种性质的函数可用于为HTML可信任的DIV提供格式化选项.
有些事情显然是错误的,因为它目前不起作用.