我想获取 div 中选择文本的 HTML 源并发出警报。
这是我的代码:
if (!window.x) {
x = {};
}
x.Selector = {};
x.Selector.getSelected = function() {
var t = '';
if (window.getSelection) {
t = window.getSelection();
} else if (document.getSelection) {
t = document.getSelection();
} else if (document.selection) {
t = document.selection.createRange().text;
}
return t;
}
$(function() {
$(document).bind("mouseup", function() {
var mytext = x.Selector.getSelected();
alert(mytext);
});
但是返回纯文本。
有什么办法吗?
感谢您的帮助。
最佳答案
http://www.codingforums.com/showthread.php?t=154848#post762994建议如下:
function selHTML() {
if (window.ActiveXObject) {
var c = document.selection.createRange();
return c.htmlText;
}
var nNd = document.createElement("p");
var w = getSelection().getRangeAt(0);
w.surroundContents(nNd);
return nNd.innerHTML;
}
Google 很好(通常情况下):-)
演示:http://jsfiddle.net/rR8Sh/1/
我添加了纯文本选择,以防标签未完全选择并使用 span 而不是 p
以避免添加换行符。它仍然会添加空的 <span>
尽管;我想不出有什么办法可以避免这种情况。
关于jQuery : get html source of selected text in div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10055806/