我正在尝试在HTML页面上获取选择文本。
我使用下面的代码,而textarea接缝上的window.getSelection()
在Firefox中不起作用,
但在谷歌浏览器中工作正常。
以下是一个示例: http://jsfiddle.net/AVLCY/
HTML:
<div>Text in div</div>
<textarea>Hello textarea</textarea>
<div id='debug'></div>
JS:
$(document).on('mouseup','body',function(){
$("#debug").html("You select '" + getSelectionText() + "'");
});
function getSelectionText() {
if (window.getSelection) {
try {
// return "" in firefox
return window.getSelection().toString();
} catch (e) {
console.log('Cant get selection text')
}
}
// For IE
if (document.selection && document.selection.type != "Control") {
return document.selection.createRange().text;
}
}
答案 0 :(得分:12)
由于this Firefox bug,getSelection
对表单字段中选择的文字显示不起作用。
正如this answer中所述,解决方法是改为使用selectionStart
和selectionEnd
。
以下是一个正常运行的修改示例: