如何在JavaScript中对文本进行简单的复制和粘贴?我希望在textarea
中选择一些文本时实现这一点,然后我可以点击按钮进行复制,然后我可以转到另一个页面右键单击另一个textarea
并选择粘贴。
答案 0 :(得分:2)
看看这个图书馆:https://github.com/zeroclipboard/zeroclipboard
您无法使用JavaScript访问剪贴板,这意味着闪存或多或少是您唯一的选择。
答案 1 :(得分:1)
使用此
function Copy() {
if(window.clipboardData) {
window.clipboardData.clearData();
window.clipboardData.setData("Text", document.getElementById('txtacpy').value);
}
}
function paste() {
if(window.clipboardData) {
document.getElementById('txtapaste').value = window.clipboardData.getData("Text");
}
}
<a href="javascript:Copy();">Copy</a>
<br />
<input type="text" name="txtacpy" id ="txtacpy"/>
<br />
<a href="javascript:paste();">Paste</a>
<br />
<input type="text" name="txtapaste" id="txtapaste"/>
它是一个简单的复制和粘贴功能。它与IE一起运作良好。
我希望对你有所帮助
答案 2 :(得分:0)
假设您想要获取用户键盘操作,您可能想要使用热键:https://github.com/jeresig/jquery.hotkeys
答案 3 :(得分:0)
我认为最简单的方法(并且在所有浏览器中工作)是观看用户按下的按键,如果他按下CTRL + C,则将要复制的一些数据保存到某个变量中。
我的意思是这样的:
var myClipboardVariable;
document.onkeyup = function(e){
if ((e.key == 'c') && e.ctrlKey){
// save data (you want to copy) into variable
myClipboardVariable = ....//some data
}
if ((e.key == 'v') && e.ctrlKey){
// paste saved data
.... paste your data from variable myClipboardVariable
}
}
答案 4 :(得分:0)
如果您只想复制用户选择的文本,则可以执行以下操作:
document.execCommand("copy");
如果您需要事先选择它:
document.getElementById('txToPaste').select();
就我而言,此代码无效-事实证明select()
对disabled
输入无效。
如果您是通过onClick
事件监听器运行的,则不需要任何特殊权限,如果您希望另一个事件触发该副本,则会有些麻烦。
它在Firefox和chrome上对我有效,MDN表示它不适用于Safari,但我尚未对其进行测试。