Javascript 在变量中存储突出显示的文本
是否有javascript函数允许我捕获当前用光标突出显示的文本并将其存储在变量中?我一直在尝试document.selection.createRange().text,但这不起作用。有没有其他可能的选择?代码如下:Javascript 在变量中存储突出显示的文本,javascript,Javascript,是否有javascript函数允许我捕获当前用光标突出显示的文本并将其存储在变量中?我一直在尝试document.selection.createRange().text,但这不起作用。有没有其他可能的选择?代码如下: function moremagic(){ var output = document.selection.createRange(); alert("I Work!");} 当我运行该函数时,它不会写入写入语句,因此我知道有问题。是的,你想要。是的,你想要。不礼貌地窃取 在“
function moremagic(){
var output = document.selection.createRange();
alert("I Work!");}
当我运行该函数时,它不会写入写入语句,因此我知道有问题。是的,你想要。是的,你想要。不礼貌地窃取
在“onClick”函数或其他任何函数中使用此选项,它将在几乎任何浏览器中返回所选文本。被恶意窃取
function getSelectedText() {
if (window.getSelection) {
return "" + window.getSelection();
} else if (document.selection && document.selection.type == "Text") {
return document.selection.createRange().text;
}
return "";
}
在“onClick”函数或其他任何函数中使用它,它将在几乎任何浏览器中返回所选文本。Oops,我忘记了IE实现了“document.selection”。所以,如果您想要跨浏览器代码,您需要分支.Oops,我忘了IE实现了“document.selection”。因此,如果需要跨浏览器代码,则需要进行分支。
window.getSelection()
将返回一个Selection
对象,而不是字符串。按照我的理解,它只是用于检查浏览器检查的返回值。一个适用于“所有”浏览器,另一个适用于IE;)我想你误解了。在使用对象/函数之前,它正在检查对象/函数是否存在,这是正确的。问题是,在非IE浏览器中,此函数将返回一个Selection
对象,在IE中返回一个字符串。在返回之前,您需要在Selection
上调用toString()
。window.getSelection()
将返回一个Selection
对象,而不是字符串。按照我的阅读方式,它只是用于检查浏览器检查的返回值。一个适用于“所有”浏览器,另一个适用于IE;)我想你误解了。在使用对象/函数之前,它正在检查对象/函数是否存在,这是正确的。问题是此函数将在非IE浏览器中返回一个选择
对象,在IE中返回一个字符串。在返回之前,需要在选择
上调用toString()
。
function getSelectedText() {
if (window.getSelection) {
return "" + window.getSelection();
} else if (document.selection && document.selection.type == "Text") {
return document.selection.createRange().text;
}
return "";
}