node-webkit js 复制粘贴

在mac环境的nw中,command+c/v无法使用(windows环境下ctrl+c/v是正常的),为了能复制粘贴,有了下面的解决方案

document.onkeydown = function(event){
    if (event.ctrlKey && event.keyCode == 67) {
        document.execCommand('copy');
    }
    else if (event.ctrlKey && event.keyCode == 86) {
        if(document.execCommand('paste')){
            return false;
        }
    }
}

这里用ctrl+c/v键统一了window/mac下的复制粘贴

document.execCommand('copy');//copy命令可以使用
document.execCommand('paste');//paste命令windows/mac nw环境均有效,windows的chrome环境无效(没测mac的chrome环境)
if(document.execCommand('paste')){//这个是兼容处理
    return false;
}

因为document.execCommand()在执行支持的命令时返回true,不支持时返回false;
因此把命令写在if内,如果支持,就return false掉默认的(否则windows nw下会粘贴两次);如果不支持,就执行默认动作(windows chrome);

如果是在iframe中,只需要把代码中的document替换为iframe的document对象即可

//此处ue.document为文本编辑器ueditor生成的编辑区域iframe的document对象
ue.document.onkeydown = function(event){
    if (event.ctrlKey && event.keyCode == 67) {
        ue.document.execCommand('copy');
    }
    else if (event.ctrlKey && event.keyCode == 86) {
        if(ue.document.execCommand('paste')){
            return false;
        }
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值