0

在 Web 应用程序中,我想使用 jquery 触发一个对话框。该对话框用于提供要由用户复制到剪贴板的字符串 (Ctrl-C)。为了简单起见,我想选择(突出显示)指定为文本区域值的字符串。此外,我也将点击处理程序绑定到选择内容,以便用户在点击时不会取消选择内容。

但是,使用 Firefox (FF 13.0.1/Linux) 这不起作用。对话框触发,文本区域接受内容。绑定工作正常。只是内容的选择根本不起作用,除非在明确点击之后。

所以我创建了一个简单的用例:http: //jsfiddle.net/4CK7Y/2/

它包含以下代码:

HTML:

<div>
    <fieldset>
        <textarea id="payload"></textarea>
    </fieldset>
</div>

JS/JQuery:

$('#payload').val("some text");
$('#payload').select();
$('#payload').click(function(){this.select();});

我很惊讶地发现这在大多数浏览器中都能正常工作:Konqueror、Rekonq、Opera。但是在 Firefox 中,这只适用于重新加载。如果单击“运行”,您会看到问题:尽管重新执行了代码,但未单击文本区域的内容不会被选中。

这是什么原因?我能做些什么呢?

4

1 回答 1

0

因为 textarea在页面加载时不会自动获得焦点。focus()事件附加到$(document).ready()下的文本区域。

于 2012-06-26T11:57:22.453 回答