鑑於以下HTML內的任何地方...獲得一個DOM範圍通過點擊元素
<p>Today is <span data-token="DateTime.DayOfWeek">$$DayOfWeek$$</span>,
</p>
<p>Tomorrow is the next day, etc, etc....</p>
點擊$$ DAYOFWEEK $$返回一個DOM Range對象(通過組件,它是一個WYSIWIG editor bundled with KendoUI)。
那麼我就可以訪問整個元素,像這樣......
var element = range.startContainer.parentElement;
console.log(element);
,輸出...
<span data-token="DateTime.DayOfWeek">$$DayOfWeek$$</span>
什麼,我試圖找出是如何構造一個Range對象由整個元素組成,作爲範圍。
所需的「高級別」行爲是單擊一段文本,並讓瀏覽器選擇該元素內的所有文本,返回一個Range對象。
很高興接受jQuery解決方案。
謝謝馬特。確實很容易將你的小提琴調整到編輯器組件中,並簡單地將它傳遞給創建的範圍,以便選擇整個元素。 – Baldy
在FireFox我在span.innerText上得到一個錯誤...所以我改變了jsFiddle了一下.. 'var TX = span.textContent || span.innerText; range.setEnd(span.childNodes [0],TX.length);' ..這種方式我認爲它適用於所有瀏覽器。 –