Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/419.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 无法在IE的文本区域中选择、复制、删除或编辑文本_Javascript_Jquery_Html_Css - Fatal编程技术网

Javascript 无法在IE的文本区域中选择、复制、删除或编辑文本

Javascript 无法在IE的文本区域中选择、复制、删除或编辑文本,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我有一个显示共享链接的文本区域。它在Chrome和Mozilla上运行良好,但在IE中无法选择文本(因此无法复制)。您可以编辑它(删除和写入) 我在文本区域添加了以下内容: exports.setTextArea=函数(url){ $('.share.clipboard textarea').text(url); $('.share.clipboard textarea')。高度(1); setTimeout(函数(){$('.share.clipboard textarea').height

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

我在文本区域添加了以下内容:

exports.setTextArea=函数(url){ $('.share.clipboard textarea').text(url); $('.share.clipboard textarea')。高度(1); setTimeout(函数(){$('.share.clipboard textarea').height($('.share.clipboard textarea')[0].scrollHeight);},0); } exports.copyResult=函数(){ $('.share.clipboard textarea').focus(); $('.share.clipboard textarea')[0].setSelectionRange(0,9999); document.execCommand('copy'); } $(函数(){ $('.share.exit btn')。打开('单击touchstart',shareControl.close); $('.share textarea').keydown(函数(e){ 如果(e.keyCode==65&&e.ctrlKey){ e、 target.select() } }); });
textarea{
宽度:100%;
最大高度:230像素;
调整大小:无;
溢出:自动;
-webkit用户选择:全部;
-moz用户选择:全部;
-ms用户选择:全部;
用户选择:全部;
}

更改此选项后:

<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;"...>

更改此项后,文本区域按预期工作

<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按预期工作

看到您发布的代码工作正常,很可能是其他原因导致了问题
是否是javascript导致了问题
-请发布相关代码。如果控制台中有任何错误,请也发布它们。您的代码在IE11中运行良好哪个IE版本不工作?还使用什么jquery版本?即:11.540.15063.0,jquery:3.1.1。console中也没有错误。我在猜测,但我认为是setSelectionRage(09999)导致了意外的行为,因为值9999比字段实际包含的多。尝试使用较小的值,例如两个,看看它是否复制了该值。如果看到您发布的代码工作正常,则很可能是其他原因导致了问题
是否是javascript导致了问题
-请发布相关代码。如果控制台中有任何错误,请也发布它们。您的代码在IE11中运行良好哪个IE版本不工作?还使用什么jquery版本?即:11.540.15063.0,jquery:3.1.1。console中也没有错误。我在猜测,但我认为是setSelectionRage(09999)导致了意外的行为,因为值9999比字段实际包含的多。使用较小的值(例如两个)进行实验,看看它是否复制了该值。