jquery 自定义键码触发器不起作用

发布于 2024-12-09 16:03:52 字数 357 浏览 0 评论 0原文

我想在选定的元素上发送击键,如下所示:

$(":input").click(function(){
    $(this).trigger("keydown", [{
        preventDefault:function(){},
        keyCode:9,
        shiftKey: true
    }]);
});

//wants to send Shift+Tab keystroke on input click

演示: http://jsfiddle.net/NYwCT/

I want to send keystrokes on the selected element like this:

$(":input").click(function(){
    $(this).trigger("keydown", [{
        preventDefault:function(){},
        keyCode:9,
        shiftKey: true
    }]);
});

//wants to send Shift+Tab keystroke on input click

Demo: http://jsfiddle.net/NYwCT/.

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

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

发布评论

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

评论(2

情归归情 2024-12-16 16:03:52

您无法发送击键。它当前会触发任何绑定的函数,但不会在浏览器级别执行相关操作(发送 ALT+F4 的脚本怎么样?)。

如果您想将输入集中在单击的输入之前,可以使用 .prev() (前一个兄弟): http://jsfiddle.net/NYwCT/1/

$(":input").click(function(){
    $(this).prev().focus();
});

You cannot send keystrokes. It currently triggers any functions that are bound, but does not execute the relevant thing at browser level (what about a script sending ALT+F4?).

If you want to focus the input before the clicked one, you can use .prev() (previous sibling): http://jsfiddle.net/NYwCT/1/.

$(":input").click(function(){
    $(this).prev().focus();
});
执着的年纪 2024-12-16 16:03:52

这不会触发实际事件,

var press = jQuery.Event("keypress");
press.shiftKey = true;
press.keyCode = 9;
$(this).trigger(press);

您也可以尝试此插件: fn.sendkeysjwerty

This will not fire the actual event

var press = jQuery.Event("keypress");
press.shiftKey = true;
press.keyCode = 9;
$(this).trigger(press);

you could also try this plug-in: fn.sendkeys or jwerty

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