У меня есть текст в моей разметке:
<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 + Enter, я хочу обернуть выделенный текст тегами <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 раз втекст, я хочу выделить только «а» он выбрал.Я изучал объекты дальности, но не могу понять, как этого достичь, помогите мне, пожалуйста.
Пожалуйста, посмотрите демонстрацию на jsfiddle .