Javascript 无法在IE中的文本区域中选择文本

Javascript 无法在IE中的文本区域中选择文本,javascript,jquery,html,internet-explorer,Javascript,Jquery,Html,Internet Explorer,我有几个例子,我使用textarea来显示一些数据库查询的源代码。其想法是允许用户选择文本区域中的所有文本,以便他们可以复制代码并将其粘贴到其他地方。除了IE-{8,9}这是我唯一关心的两个IE浏览器之外,一切都很好 该选择适用于一个文本区域,而不适用于另一个文本区域。我为这件事绞尽脑汁好几个小时了,一点运气都没有。我试图用一个小的代码片段来重现这个问题,但也没有成功 那么,从另一个角度来看,有没有一种方法可以禁止从特定于IE且不需要特定javascript代码的文本区域中选择文本?我没有编写任

我有几个例子,我使用textarea来显示一些数据库查询的源代码。其想法是允许用户选择文本区域中的所有文本,以便他们可以复制代码并将其粘贴到其他地方。除了IE-{8,9}这是我唯一关心的两个IE浏览器之外,一切都很好

该选择适用于一个文本区域,而不适用于另一个文本区域。我为这件事绞尽脑汁好几个小时了,一点运气都没有。我试图用一个小的代码片段来重现这个问题,但也没有成功

那么,从另一个角度来看,有没有一种方法可以禁止从特定于IE且不需要特定javascript代码的文本区域中选择文本?我没有编写任何特定代码来禁用文本区域中的文本选择

例如,如果我有这个文本区域

<textarea>Some Text</textarea>
我曾经考虑过一些事件监听器不存在的想法,但是由于IE开发者工具太神奇了,我没有任何运气去追踪那些在Chrome中列出的事件监听器

我还重置了IE,并确保启用了复制“拖放或复制粘贴”


我会把它记为一个浏览器错误,然后写我自己的,但由于它在一种情况下工作,而不是在另一种情况下,它似乎是在后台发生的事情,我没有看到。

按ID选择对我来说非常好:


按ID选择对我来说非常好:


你不能像这样引用文本区域。你必须使用身份证

<textarea id="foo">Some Text</textarea>

<script type="text/javascript">
    $('#foo').select();
</script>

你不能像这样引用文本区域。你必须使用身份证

<textarea id="foo">Some Text</textarea>

<script type="text/javascript">
    $('#foo').select();
</script>

事实证明有一个mixin覆盖了onselectstart方法

    if (typeof self.node.onselectstart !== 'undefined') {
        self.node.onselectstart = function() {
            return false;
        };
    }

事实证明,有一个mixin重写了onselectstart方法

    if (typeof self.node.onselectstart !== 'undefined') {
        self.node.onselectstart = function() {
            return false;
        };
    }

您可以执行$'textarea'[0]。在IE9中选择,但在IE7或8中不起作用。您可以执行$'textarea'[0]。在IE9中选择,但它在IE7或IE8中不起作用是的,对我来说很好,我只是发现问题有点困难。是的,对我来说很好,我只是发现问题有点困难。你忘记了before foo:你忘记了before foo:一个开发人员覆盖了SelectStart,我在责怪IE。谢谢,这挽救了我的一天:一位开发人员重写了SelectStart,我当时在责怪IE。谢谢,这挽救了我的一天: