我有几个案例,我使用textarea来显示数据库查询的一些源代码。这个想法是允许用户选择textarea中的所有文本,以便他们可以复制该代码并将其粘贴到其他地方。一切都很好,除了IE- {8,9},这是我唯一关心的两个IE浏览器。
选择适用于一个textarea而不适用于另一个。在没有运气的情况下,我已经绞尽脑汁待了好几个小时。我试图在一个很小的代码片段中重现这一点,以说明问题,但这也没有奏效。
所以,另一个方向是否有办法禁用从特定于IE的textarea中选择文本并且不需要特定的JavaScript代码?我没有编写任何特定代码来禁用textarea中的文本选择。
例如,如果我有这个textarea
<textarea>Some Text</textarea>
该文本如何仅在IE中无法选择?我还尝试使用jquery,javascript和DOM api以编程方式选择文本。除了IE- {8,9}之外,它适用于所有浏览器。
仅举例。
$('textarea').select();
我一直在思考一些事件监听器不存在的想法,但是由于IE开发人员的工具太棒了,我没有运气跟踪那些比较Chrome中列出的内容。 / p>
我还重置IE并确保复制&#39;拖放或复制并粘贴&#39;已启用。
我会把它当作一个浏览器bug并写下我自己的但是因为它在一个案例而不是另一个案例中起作用,所以在背景中发生的事情我似乎没有看到。
答案 0 :(得分:1)
按ID选择对我来说非常合适:
答案 1 :(得分:1)
哟不能像这样引用textarea。你必须使用id。
<textarea id="foo">Some Text</textarea>
<script type="text/javascript">
$('#foo').select();
</script>
答案 2 :(得分:1)
事实证明,有一个mixin覆盖了onselectstart方法。
if (typeof self.node.onselectstart !== 'undefined') {
self.node.onselectstart = function() {
return false;
};
}