Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript .getSelection()_Javascript_Jquery - Fatal编程技术网

Javascript .getSelection()

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

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">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);
});