Control+C 上触发事件,但仍允许复制

发布于 2024-11-18 14:07:04 字数 922 浏览 3 评论 0原文

当用户在网页上按 control+c 时,我尝试运行一些代码,但我仍然希望该键操作复制用户选择的任何内容。使用我当前的代码,只有我编写的事件实际发生,并且默认操作被忽略。

这可能吗?这是我正在使用的代码:

控制键功能的代码

$.ctrl = function(key, callback, args) {
    var isCtrl = false;
    $(document).keydown(function(e) {
        if(!args) args=[]; // IE barks when args is null

        if(e.ctrlKey) isCtrl = true;
        if(e.keyCode == key.charCodeAt(0) && isCtrl) {
            callback.apply(this, args);
            return false;
        }
    }).keyup(function(e) {
        if(e.ctrlKey) isCtrl = false;
    });
};

Control+C 的代码:

$('input').click(function(){
    $(this).addClass('selected');
    $(this).focus();
    $(this).select();
});

$('input').blur(function(){
    $('input.selected').removeClass('selected');
});

$.ctrl('C', function() {
    if( $('input.selected').length != 0 )
    {
        alert("Saved");
    }
});

I'm trying to run some code when the user presses control+c on a webpage, but I still want that key action to copy whatever the user has selected. With my current code, only the events I write actually happen and the default action is ignored.

Is this possible? Here's the code I'm using:

Code for control key functionality

$.ctrl = function(key, callback, args) {
    var isCtrl = false;
    $(document).keydown(function(e) {
        if(!args) args=[]; // IE barks when args is null

        if(e.ctrlKey) isCtrl = true;
        if(e.keyCode == key.charCodeAt(0) && isCtrl) {
            callback.apply(this, args);
            return false;
        }
    }).keyup(function(e) {
        if(e.ctrlKey) isCtrl = false;
    });
};

Code for Control+C:

$('input').click(function(){
    $(this).addClass('selected');
    $(this).focus();
    $(this).select();
});

$('input').blur(function(){
    $('input.selected').removeClass('selected');
});

$.ctrl('C', function() {
    if( $('input.selected').length != 0 )
    {
        alert("Saved");
    }
});

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

青丝拂面 2024-11-25 14:07:04

删除行 return false;

Remove the line return false;

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文