如何用jQuery替换击键?

| 我需要能够用jQuery替换击键。当按下向右箭头时,我希望改为按下Tab键。到目前为止,我有:
<script type=\"text/javascript\" src=\"jquery-1.6.1.min.js\"></script>
<script type=\"text/javascript\" src=\"jquery.simulate.js\"></script>
<script type=\"text/javascript\">
    $(function () {
        $(\"select\").each( function() {
                $(this).keydown(function(event) {
                    if (event.which == \'39\') {
                        $(this).simulate(\"keydown\", { keyCode: 9, ctrlKey: false, shirtKey: false });
                        $(this).simulate(\"keypress\", { keyCode: 9, ctrlKey: false, shirtKey: false });
                        $(this).simulate(\"keyup\", { keyCode: 9, ctrlKey: false, shirtKey: false });
                        return false;
                    }
            });
        });
    });
</script>
39是向右箭头,而9是Tab键。同样,模拟keydown递归调用事件处理程序,这显然是不好的,但是即使没有该行,这仍然行不通。 我正在使用位于(http://code.google.com/p/jqueryjs/source/browse/trunk/plugins/simulate/jquery.simulate.js?r=6063)的jquery.simulate.js,因为我无法\没有找到一种仅用jQuery模拟按键的方法。 按键只是不模拟实际按键。     
已邀请:
您无法使用javascript模拟实际按键。它是浏览器安全性的核心组成部分。想象一下能够模拟Alt-Tab或Ctrl-Shift-Del。 当然,您可以定义一个方法来封装要触发的行为,并在按下特定键时调用该方法。 因此,例如,当有人在另一个选择元素上按下向右箭头时,要跳至下一个选择元素,我将保留页面上所有选择元素的列表;当按下右箭头时,我将在列表中找到当前焦点选择的位置,然后选择.focus()下一个。     

要回复问题请先登录注册