Можно ли как то выделить текст в блоке при клике по блоку?
Можно ли как то выделить текст в блоке при клике по блоку?
Есть div, пользователь щелкнает левой кнопкой мыши в пределах этого div'а и имеющийся в нем текст выделяется. Знаю что с текстовым полем такое возможно. |
Можно, я аж сам удивился
Есть объекты Selection (выделение) и Range (промежуток).
Можно получить выделение и вставлять в него промежутки. Видны только промежутки, вставленные в выделение.
$(document).ready(function () {
$('.selectable').click(function () {
var w = window.getSelection();
// w.removeAllRanges(); // вроде бы старые промежутки удаляются автоматически при каждом клике
var range = document.createRange();
range.selectNode(this);
w.addRange(range);
});
});
// selectable - класс тех div-элементов, которые будут выделяться целиком при клике на них
Я не знаю, насколько это кроссбраузерно, но там где-то были ссылки на DOM2 |
| Часовой пояс GMT +3, время: 09:37. |