无法在IE中的textarea中选择,复制,删除或编辑文本

时间:2017-09-07 08:51:43

标签: javascript jquery html css

我有一个textarea,显示共享链接。它在Chrome和Mozilla上运行正常,但在IE文本中无法选择(因此无法复制)。你可以编辑它(删除和写入)。

我添加了textarea:



exports.setTextArea = function(url) {
        $('.share .clipboard textarea').text(url);
        $('.share .clipboard textarea').height(1);
        window.setTimeout(function(){$('.share .clipboard textarea').height($('.share .clipboard textarea')[0].scrollHeight);}, 0);
      }
    
      exports.copyResult = function() {
    	$('.share .clipboard textarea').focus();
    	$('.share .clipboard textarea')[0].setSelectionRange(0, 9999);
        document.execCommand('copy');
      }
    
      $(function () {
        $('.share .exit-btn').on('click touchstart', shareControl.close);
        
        $('.share textarea').keydown(function(e){
            if (e.keyCode == 65 && e.ctrlKey) {
                e.target.select()
            }
        });
      });

textarea {
  width: 100%;
  max-height: 230px;
  resize: none;
  overflow: auto;
  -webkit-user-select: all;
  -moz-user-select: all;
  -ms-user-select: all;
  user-select: all;
}

<div class="clipboard">
  <textarea id="textarea"></textarea>
</div>
&#13;
&#13;
&#13;

是不是导致问题的javascript?我用它在textarea中生成textm set文本,并将其复制到剪贴板。

编辑:我发现无论我在哪里放置,这个问题仍然存在。虽然它在jsfiddle.net上测试时可以正常使用,但它显然适用于IE和Edge

1 个答案:

答案 0 :(得分:0)

更改后:

<body onload="htmlInit('XYZ');" onselectstart="if ((event.target || event.srcElement).nodeName !== 'INPUT') return false;"...>

到此:

<body onload="htmlInit('XYZ');" onselectstart="if ((event.target || event.srcElement).nodeName !== 'INPUT' && (event.target || event.srcElement).nodeName !== 'TEXTAREA') return false;"...>

textarea按预期工作