我试图使用Jquery突出显示文本,它适用于较短的选择(如3到5个单词),但选择时间不长(参见附图)
单击突出显示链接时,所选文本应更改为黄色。
每当我尝试做更长的选择时,我都会收到此错误:
Uncaught TypeError: Cannot read property 'replace' of undefined
您可以在jsfiddle.
上找到整个代码答案 0 :(得分:0)
试试这个。
$(document).on( "click", ".share_link", function() {
var sel = window.getSelection ? window.getSelection() : document.selection.createRange(); // FF : IE
if(sel.getRangeAt){ // thats for FF
var range = sel.getRangeAt(0);
var newNode = document.createElement("span");
newNode.setAttribute('class', 'high');
range.surroundContents(newNode);
} else { //and thats for IE7
sel.pasteHTML('<span class="someclass">'+sel.htmlText+'</span>');
}
});
FIDDLE:http://jsfiddle.net/yc2gouk3/
这适用于长段选择