根据键盘上的用户编号选择选择多项选择答案

时间:2016-02-18 18:43:45

标签: javascript jquery ruby-on-rails

我正在构建一个多项选择测验游戏,我试图模仿Duolingo的功能,基本上你有3个编号的多项选择答案,用户可以输入" 1&#34 ;," 2"或" 3"为了选择他们喜欢的答案选择(见图)。

我如何模仿此功能?使用JS或其他任何工具。目前我的应用程序中的每个答案选项都有一个隐藏的无线电输入,用户必须用鼠标点击答案才能选择,但鼠标最差!任何帮助都会很棒!谢谢!

duolingo answer selection example

4 个答案:

答案 0 :(得分:1)

使用mousetrap!它捕获页面上的击键,并允许您为每个键设置事件处理程序。为每个所需的数字键分配处理程序是一件容易的事。

答案 1 :(得分:1)

如果您的表单是这样的html表单:

<form>
<input type="radio" name="gender" id="button1" value="red" checked>Red<br>
<input type="radio" name="gender" id="button2" value="blue"> Blue<br>
<input type="radio" name="gender" id="button3" value="green"> Green  
</form>

然后你需要一点点jquery来改变选择哪个单选按钮

$(document).keypress(function(e) {
    console.log("keypress noticed");
if(e.which == 49) {
       $("#button1").prop("checked", true)

}
    if(e.which == 50) {
        $("#button2").prop("checked", true)
}
    if(e.which == 51) {
        $("#button3").prop("checked", true)
}
});

答案 2 :(得分:0)

猜测可以部分地监听键盘输入,如果输入了键,则执行x

Simplest way to detect keypresses in javascript,如果可能感兴趣

也:

$(document).on('keypress', function(e) {
  console.log(String.fromCharCode(e.keyCode));
})

如果可能感兴趣

答案 3 :(得分:0)

 $("input").on("keydown", function (event)
  {
      if (event.which == 13)
      {
          event.preventDefault();
          ..
      }
  });

13是输入不确定哪一个是1,2,3只是console.log(event.wich)