JavaScript:代码选择-哪里出错了?
JavaScript: Code-Selection - What's wrong?
<!DOCTYPE html>
<html>
<head>
<title>Select Code</title>
<meta charset="UTF-8">
<script type="text/javascript">
window.onload = function() {
function selectCode(a) {
// Get ID of Code Block
var e = a.parentNode.parentNode.getElementsByTagName('code')[0];
// Not IE or IE9+
if (window.getSelection) {
var s = window.getSelection();
if (s.setBaseAndExtent) {
s.setBaseAndExtent(e, 0, e, e.innerText.length - 1);
}
// Firefox and Opera
else {
if (window.opera && e.innerHTML.substring(e.innerHTML.length - 4) == '<br>') {
e.innerHTML = e.innerHTML + ' ';
}
var r = document.createRange();
r.selectNodeContents(e);
s.removeAllRanges();
s.addRange(r);
}
}
// Some older browsers
else if (document.getSelection) {
var s = document.getSelection();
var r = document.createRange();
r.selectNodeContents(e);
s.removeAllRanges();
s.addRange(r);
}
// IE
else if (document.selection) {
var r = document.body.createTextRange();
r.moveToElementText(e);
r.select();
}
};
}
</script>
</head>
<body>
<a onclick="selectCode(this); return false;" href="#">Select all</a>
<code>Some Code</code>
</body>
</html>
有谁知道是怎么回事吗?这根本行不通。: - (
我刚刚删除了window.onload
查看这里的工作代码http://jsfiddle.net/5n4cw/
<a onclick="selectCode(this);" href="#">Select all</a>
<code>Some Code</code>
<script type='text/javascript'>
function selectCode(a) {
// Get ID of Code Block
var e = a.parentNode.parentNode.getElementsByTagName('code')[0];
// Not IE or IE9+
if (window.getSelection) {
var s = window.getSelection();
if (s.setBaseAndExtent) {
s.setBaseAndExtent(e, 0, e, e.innerText.length - 1);
}
// Firefox and Opera
else {
if (window.opera && e.innerHTML.substring(e.innerHTML.length - 4) == '<br>') {
e.innerHTML = e.innerHTML + ' ';
}
var r = document.createRange();
r.selectNodeContents(e);
s.removeAllRanges();
s.addRange(r);
}
}
// Some older browsers
else if (document.getSelection) {
var s = document.getSelection();
var r = document.createRange();
r.selectNodeContents(e);
s.removeAllRanges();
s.addRange(r);
}
// IE
else if (document.selection) {
var r = document.body.createTextRange();
r.moveToElementText(e);
r.select();
}
}
</script>
相关文章:
- reducers在redux中得到Function not Object,what'it’他错了
- 正在尝试为Docpad网站设置Lunr全文搜索插件.我做错了什么
- 谷歌关闭注释赢得'Don’不要告诉我;I’我错了
- Javascript对象/原型.我的理解错了吗
- 什么'这个随机数猜谜游戏错了
- 重新加载重复数据失败,我做错了什么
- 什么'这个谷歌脚本错了
- 柴如承诺即使错了也会过去
- 什么'Gulp错了
- 我做错了什么
- angular mongodb数组格式写错了
- JavaScript排序算法不起作用 - 任何明显的我做错了
- Google Apps 脚本为 getLastRow 抛出电子邮件失败通知,我做错了什么
- Javascript语法 - 我做错了什么
- 角度灯箱不起作用.我做错了什么
- 在这个猫鼬独特的保存前验证中,我做错了什么
- fullcalendar赢得't让我调整事件大小(光标不显示,我做错了)
- document.getElementById为空..什么'I’我的代码错了.
- Javascript-JSON.parse:数据意外结束-使用有效JSON时出错.我做错了什么
- 我做错了什么?405尝试保存值时出错