Javascript +如何获取索引w.r.t选择的父节点+除IE之外的浏览器
嗨我想获得相对于所选文本的父节点的选择开始和结束索引。
我能够在IE中做到这一点。
但是在Firefox,Opera,Safari和Chrome等其他浏览器中,我可以访问所选文本的选择和索引。但我的要求是获取索引w.r.t父节点而不是选定节点。
我需要一个支持所有浏览器的解决方案 - Firefox,Opera,Safari和Chrome
if (window.getSelection) {
alert("Other browser");
sel = window.getSelection();
if(sel != '') {
//alert(sel.anchorNode.parentNode.nodeName);
//alert(sel.anchorOffset);
//alert(sel.focusNode.parentNode.nodeName);
//alert(sel.focusOffset);
}
}
else if (document.selection) {
txt = document.selection.createRange().text;
var range_all = document.body.createTextRange();
if (txt!='' )
{
// Finding start position
range = document.selection.createRange();
range.collapse(true);
var startParentElement = range.parentElement();
range_all.moveToElementText(startParentElement);
for (var sel_start = 0; range_all.compareEndPoints('StartToStart', range) < 0; sel_start ++)
range_all.moveStart('character', 1);
range = document.selection.createRange();
range.collapse(false);
range_all = document.body.createTextRange();
var endParentElement = range.parentElement();
range_all.moveToElementText(endParentElement);
for (var sel_end = 0; range_all.compareEndPoints('StartToEnd', range) < 0; sel_end ++)
range_all.moveStart('character', 1);
alert("sel_start:" + sel_start);
alert("sel_end:" + sel_end);
}}
没有找到相关结果
已邀请:
2 个回复
埃输林桨铃
搂腹时
API:https://developer.mozilla.org/en/docs/Web/API/Range