Tôi chọn một số văn bản trên trang html (mở bằng firefox) bằng chuột và sử dụng các hàm javascript, tôi tạo/lấy phạm vi từ tương ứng với văn bản đã chọn.Làm cách nào để đánh dấu văn bản của đối tượng Phạm vi DOM?
userSelection =window.getSelection();
var rangeObject = getRangeObject(userSelection);
Bây giờ tôi muốn nhấn mạnh tất cả các văn bản mà đi kèm theo rangeobject.I đang làm nó như thế này,
var span = document.createElement("span");
rangeObject.surroundContents(span);
span.style.backgroundColor = "yellow";
Vâng, điều này hoạt động tốt, chỉ khi rangeobject (startpoint và thiết bị đầu cuối) nằm trong textnode cùng, sau đó nó nhấn mạnh text.Ex tương ứng
<p>In this case,the text selected will be highlighted properly,
because the selected text lies under a single textnode</p>
Nhưng nếu rangeobject bao gồm hơn một textnode, sau đó nó không được làm việc properlay, nó nhấn mạnh chỉ những văn bản mà nằm trong văn bản đầu tiên, Ex
<p><h3>In this case</h3>, only the text inside the header(h3)
will be highlighted, not any text outside the header</p>
Bất kỳ ý tưởng nào tôi có thể tạo, tất cả văn bản nằm trong một nút hoặc nhiều nút? Cảm ơn ....
Có thể trùng lặp: http://stackoverflow.com/questions/1622629/javascript-highlight-selected-range-button –