我正在使用此方便的脚本复制并粘贴输入的值:
$(document).on('click','div.copy',function(){
$('>input',this).select()
document.execCommand('copy')
})
我的字体出于样式目的是大写的。我想选择并复制该值的小写版本。
我尝试过:
$(document).on('click','div.copy',function(){
$('>input',this).val().toLowerCase().select()
document.execCommand('copy')
})
但是我收到一个错误消息,说它不是一个函数。
答案 0 :(得分:1)
您可以执行以下操作。通常,出于安全原因,从浏览器访问用户剪贴板不是很简单。我创建了一个工作区片段。您将控件的值设置为小写值,选择它,然后复制。
或者,您可以查看Clipboard api。
$(document).on('click','div.copy',function(){
var control = $('>input',this);
var txt = control.val();
control.val(txt.toLowerCase());
control.select();
document.execCommand('copy');
control.val(txt);
control.select();
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="copy"><input type="text" value="FOO"/></div>
答案 1 :(得分:0)
感谢斯拉沃米尔(Slavormir)的回答。
我还找到了另一个使用CSS的简单解决方案。我忘了提到我的大写字母是由CSS text-transform:uppercase
控制的,因此上述解决方案不适用于CSS转换后的文本。
如果您有text-transform:uppercase
,可以这样做:
$(document).on('click','div.copy',function(){
$('>input',this).css('text-transform','lowercase').select();
document.execCommand('copy');
$('>input',this).css('text-transform','');
});