【发布时间】:2010-10-05 08:29:00
【问题描述】:
我的 JS 代码:
function getSelectedText(){
if(window.getSelection){
select = window.getSelection().getRangeAt(0);
var st_span = select.startContainer.parentNode.getAttribute("id").split("_")[1];
var end_span = select.endContainer.parentNode.getAttribute("id").split("_")[1];
console.log(select.endContainer);
var ret_urn=[st_span,end_span];
return ret_urn
}
else if(document.getSelection){
return document.getSelection();
}
}
$(document).ready(function() {
$("div#check_button button").click(function () {
var loc = getSelectedText();
console.log(loc);
});
});
这是我的整个 html 文件:http://pastebin.com/acdiU623
很难解释,所以准备了短片:http://www.youtube.com/watch?v=tVk4K70JO80
简而言之:当我按住鼠标左键选择文本/数字并从字母/数字的一半开始选择时,虽然这个字母/数字没有突出显示,但它被添加到选择中。我必须精确地开始选择。宽字母没问题,但像 i、j 或 l 这样的字母很难。
这是我的电影的第二个例子。我在数字 5 长度的 3/4 处按下了左键,虽然 5 没有突出显示,但它被选中了。
在 FF 和 Opera 上测试。
【问题讨论】:
-
有趣的问题,我无能为力帮助,但 +1 让我感兴趣。 =)
-
啊哈,这很卑鄙。但这里也一样。
标签: javascript jquery selection range