Я хочу, чтобы этот текст внутри <div>
был выделен (выбран для копирования) при загрузке страницы.
<div id='sample_div'>This is sample text</div>
Что я пробовал:
$(document).ready(function(){
$('#sample_div').select();
});
Я хочу, чтобы этот текст внутри <div>
был выделен (выбран для копирования) при загрузке страницы.
<div id='sample_div'>This is sample text</div>
Что я пробовал:
$(document).ready(function(){
$('#sample_div').select();
});
Итак, если я правильно предполагаю, вы хотите, чтобы текст внутри отдельного div был выделен.
function selectText(element) {
var doc = document
, text = doc.getElementById(element)
, range, selection
;
if (doc.body.createTextRange) { //ms
range = doc.body.createTextRange();
range.moveToElementText(text);
range.select();
} else if (window.getSelection) { //all others
selection = window.getSelection();
range = doc.createRange();
range.selectNodeContents(text);
selection.removeAllRanges();
selection.addRange(range);
}
}
Работа jsFiddle
Изменение решения основано на текущем браузере, с более старой версией jQuery я использую $.browser
, но теперь удаляется; проверить его IE и использовать правильную проверку кода, если document.body.createTextRange
существует как:
$(document).ready(function () {
selectText('sample_div');
});
function selectText(element) {
var text = document.getElementById(element);
if (document.body.createTextRange) {
var range = document.body.createTextRange();
range.moveToElementText(text);
range.select();
} else {
var selection = window.getSelection();
var range = document.createRange();
range.selectNodeContents(text);
selection.removeAllRanges();
selection.addRange(range);
}
}