gpt4 book ai didi

javascript - 如何使 containsNode() 在 IE 中工作?

转载 作者:行者123 更新时间:2023-12-05 07:52:10 24 4
gpt4 key购买 nike

我有 5 个参数,我想确认选择了哪些参数。

<p>The 1st paragraph. Hello everyone.Nice meeting you!</p>
<p>The 2nd paragraph. Hello everyone.Nice meeting you!</p>
<p>The 3rd paragraph. Hello everyone.Nice meeting you!</p>
<p>The 4th paragraph. Hello everyone.Nice meeting you!</p>
<p>The 5th paragraph. Hello everyone.Nice meeting you!</p>

JS代码如下:

var para = document.getElementsByTagName('p');
var result = [];

document.onmouseup = function(){
var selectText = window.getSelection();//get the selected range obj,ie9+ support getSelection()
if(selectText.toString()){
for (var i = 0;i<para.length;i++){
if(selectText.containsNode(para[i],true)){
result.push(i+1);//get sequence number of the selected paras
}
}
alert(result);
result = [];
}
}

当我选择这样的文本时:

Snapshot

窗口提示“1,2,3”,表示我选择了第 1、2、3 段。

但这在IE中是行不通的,查了资料才知道IE不支持containsNode()方法。如何使 containsNode() 在 IE 中工作或使用其他方法获得相同的结果?

ps:选择诸如:

的文本时

snapshot2

为什么提示“1,2”?

最佳答案

IE9+应该能用,低版本链接在下面

"IE 8 getSelection().anchorOffset alternative "你可以寻求帮助

关于javascript - 如何使 containsNode() 在 IE 中工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34082355/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com