我有我的標記文本:使選定文本變粗使用JavaScript
<div>
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Vestibulum condimentum consectetur tellus, at bibendum felis ultrices eu.
Nullam nibh urna, euismod a blandit ut, fermentum a leo. Maecenas pharetra elementum fringilla.
Quisque condimentum, nibh quis elementum porttitor, magna libero malesuada dolor, ut feugiat tortor lectus ac turpis. Integer tristique molestie enim, sit amet commodo risus tempus non.
</div>
當用戶選擇了文本,按下CTRL +回車我想選定的文本與<b></b>
標籤包裹。我得到了選定的文本,但無法找到如何用標記包裝它。這裏是我有:
function getSelectedText() {
if (window.getSelection) {
return window.getSelection().toString();
}
else {
if (document.selection) {
return document.selection.createRange().text;
}
}
return '';
}
$ (document).ready (function() {
// User pressed a key
$ (document).keydown (function(e) {
// is it CTRL+ENTER?
if (e.which == 13 && e.ctrlKey) {
alert('You have selected ' + getSelectedText());
// now I need to highlight the text I got
// ????
}
});
});
請注意!一個簡單的查找/替換不會,如果用戶選擇了一個可以在文本中找到10次的'a'字母,我想突出顯示他選擇的唯一'a'。我研究了範圍對象,但無法弄清楚如何實現它,請幫助我。
請參閱演示jsfiddle。