我想模拟空格键按键

时间:2017-01-16 19:49:38

标签: javascript jquery

如果有人按下回车键,我想模仿他按下空格键。我尝试了以下但它不起作用。按Enter键什么都不做。请帮忙

$(document).ready(function() {
  var spacepress = $.Event("keypress", {
    keycode: 32,
    which: 32
  });
  $('input').on("keypress", function(e) {
    if (e.which == 13) {
      e.preventDefault();
      $('input').trigger(spacepress);
    }
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type='text'>

1 个答案:

答案 0 :(得分:0)

问题是trigger将触发分配给给定事件的任何事件处理程序,但它不会模拟按键盘上的实际按钮。你自己必须自己处理。

这是实现目标的一种方式。

&#13;
&#13;
$(document).ready(function() {
  var spacepress = $.Event("keypress", {
    keycode: 32,
    which: 32
  });
  $('input').on("keypress", function(e) {
    if (e.which == 13) {
      e.preventDefault();
      $('input').trigger(spacepress);
    } else if (e.which === 32) {
      $(this).val($(this).val() + ' ');
    }
  });
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type='text'>
&#13;
&#13;
&#13;