2

我想像这样在所选元素上发送击键:

$(":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/

4

2 回答 2

5

您不能发送击键。它目前会触发任何绑定的函数,但不会在浏览器级别执行相关的事情(发送 ALT+F4 的脚本呢?)。

如果您想在点击之前关注输入,您可以使用.prev()(上一个兄弟):http: //jsfiddle.net/NYwCT/1/

$(":input").click(function(){
    $(this).prev().focus();
});
于 2011-10-12T20:35:54.307 回答
1

这不会触发实际事件

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

你也可以试试这个插件:fn.sendkeysjwerty

于 2011-10-12T20:59:07.380 回答