我搜索跨瀏覽器溶液(鉻,FF,歌劇> 10,IE> = 8)以下的問題:檢查是否指定的元素是內部選擇
有一些HTML代碼:
<div>
<div id="one">
<p id="red">red</p>
<p id="green">green</p>
</div>
<div id="two">
<p id="blue">blue</p>
<p id="black">black</p>
</div>
</div>
和用戶使用鼠標文本從'een'(在#green節點)到'blu'(在#blue節點)中進行選擇。如何檢查#blue是否在選擇範圍內(全選或部分選擇無關緊要),#red和#black不在選擇中。 簡單的API應該是這樣的:
Selection.isElementSelected(document.getElementById('black'));
我試着使用DOMSelection和範圍,但問題是,我需要檢查嵌套的結構元素。在Chrome中,我可以使用Range.intersectsNode(),但這是唯一支持此方法的瀏覽器。
有什麼建議嗎?
也許這可以幫助你一個完美的結果在IE <9: containsRange:function(range){ return this.userRange.inRange(range)|| range.inRange(this.userRange)|| this.userRange.compareEndPoints(「EndToStart」,range)> -1 && this.userRange.compareEndPoints(「StartToEnd」,range)<1; } – 2013-01-03 15:34:04