Javascript .getSelection()
HTML代码-Javascript .getSelection(),javascript,jquery,Javascript,Jquery,HTML代码- <script language="javascript" type="text/javascript" src="js/jquery-1.4.2.min.js"></script> <script language="javascript" type="text/javascript" src="js/jquery.field.selection.js"></script> <div id="copy">C
<script language="javascript" type="text/javascript" src="js/jquery-1.4.2.min.js"></script>
<script language="javascript" type="text/javascript" src="js/jquery.field.selection.js"></script>
<div id="copy">Copy</div>
<textarea....id="t">
按下复制按钮时,警报不会在t中显示所选文本。它是空白的
我需要从textarea中选择的文本我不确定这个问题,但是如果需要获取textarea值,只需使用val jQuery方法: 您可以更改id=t,或者将TextArea更改为t,以获取html标记中的TextArea 但我不知道您使用的是什么插件或它想要什么。getSelection是文档的一种方法,所以您应该:
var range = document.getSelection();
还要注意的是,您必须在IE中使用document.selection.createRange,因此一切都变得有点复杂。
有关更多信息,请参阅。您最终将需要这样一个函数:
function getSelectedText(){
if(document.all){
var selection = document.selection;
var newRng = selection.createRange();
newRng.select();
return newRng.htmlText;
}else{
return document.getSelection();
}
}
wich应返回所选文本并在所有主要浏览器中工作
编辑:
刚才看到您正在使用某种jquery插件,这可能会使您的代码正常工作。问题是:
在html中,文本区域的id为t:
<textarea....id="t">
请将textarea的id更改为textarea或其他方式,然后查看发生了什么。您的代码没有运行,因为此语句失败
var range = $('#TextArea').getSelection();
在您提供的标记中没有像ID那样的TextArea,因此脚本会遇到错误,并且不会继续执行
如果你把警报放在顶部,我相信警报框会弹出。
i、 e
如果你真的问了一个问题,它会很有帮助。试试console.log或.debug,看看返回了什么。Q上的-4是什么意思?这个问题写得非常糟糕。你没有解释你自己尝试了什么,你没有说是否发生了任何错误,也没有发布错误消息。您的代码格式错误,难以阅读。无论如何,我没有否决这一点,只是因为我今天没有投票了。@oezi你能告诉我这句话的意思吗?当按下“复制”按钮时,警报不会在t中显示所选文本。它是空白的。我需要从文本区域中选择文本,然后用谷歌搜索它!我做了,得到了插件jquery.field.selection.js,并阅读了其中的所有内容,但是range.text没有显示出来。我得到了range.text blank没有返回值,但是起点和终点都是returned@Jean,你能先告诉我你的代码中的Textarea在哪里吗。。。您正在尝试引用textarea元素吗
<textarea....id="t">
$('#TextArea').getSelection();
var range = $('#TextArea').getSelection();
$('#copy').click(function(){
alert(''); //this will work
var range = $('#TextArea').getSelection();
alert(range.text);
});