2016-09-19 133 views
-1

這裏是我的jsfiddle:選擇/高亮

Highlight issue after selecting text across multiple li tags

,並在我使用下面的代碼添加跨度後突出顯示文本

var range = window.getSelection().getRangeAt(0); 
content = range.extractContents(); 
span = document.createElement('SPAN'); 
span.className='startIndex-'+startIndex+' endIndex-'+endIndex+''; 
span.style.background = 'pink'; 
span.appendChild(content); 
var htmlContent = span.innerHTML; 
range.insertNode(span); 

這裏在多個li上選擇文本我在onclick函數中傳遞選定文本的開始索引和結束索引。

但點擊按鈕同時highligting它打破了選擇的內容到新立並保持後

加入新的標籤裏有我要強調選擇的範圍,而不會影響HTML後。

有誰知道如何阻止HTML行爲不當,並正確突出顯示它。

+0

隨着[mark.js(https://markjs.io),所以可以跨 – dude

+0

看着it..it是好的元素突出..但是現在我需要在現有代碼中做出什麼改變才能使其工作......稍後我將重新實現整個代碼,因爲我有點着急讓代碼生活......任何有關小提琴代碼的建議? – user1617762

回答

0

如果你只是想改變風格,你不只是添加一個類?
的Javascript:

 var el = document.getElementById('hello'); 
    el.className ="red" 

CSS

.red{ 
    background: red; 
} 
+0

在按下按鈕時,html運行不正常......並且HTML元素受到影響.....這是突出顯示的問題 – user1617762

+0

這不是實際的解決方案。 – user1617762