我希望在页面加载时<div>
内的这个文本是高级启发(选择复制)。
<div id='sample_div'>This is sample text</div>
我尝试了什么:
$(document).ready(function(){
$('#sample_div').select();
});
答案 0 :(得分:2)
因此,如果我假设正确,您希望突出显示特定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
<强> Source 强>
答案 1 :(得分:1)
基于当前浏览器的解决方案更改,使用旧版本的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);
}
}