【问题标题】:Select multiple choice answer based on user number selection on keyboard根据键盘上的用户号码选择选择多项选择答案
【发布时间】:2016-02-19 03:17:29
【问题描述】:

我正在构建一个多项选择测验游戏,我正在尝试模仿 Duolingo 的功能,基本上你有 3 个编号的多项选择答案,用户只需键入“1”、“2”或“3”为了选择他们喜欢的答案选项(见图)。

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

【问题讨论】:

    标签: javascript jquery ruby-on-rails


    【解决方案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】:

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

      【讨论】:

        【解决方案3】:
         $("input").on("keydown", function (event)
          {
              if (event.which == 13)
              {
                  event.preventDefault();
                  ..
              }
          });
        

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

        【讨论】:

          【解决方案4】:

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

          另外,Simplest way to detect keypresses in javascript,以防万一

          还有:

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

          如果可能感兴趣

          【讨论】:

          • 如何检查用户输入的是“1”还是“2”、“3”等?出于某种原因,我只能找到有关一般按键的信息,例如左/右/回车。
          • 回复已修改!此外,如果我不得不猜测的话,使用 vanilla js 技术的关键值将在 keyCode 上,而在 which 上使用 jQuery 方法以防万一
          猜你喜欢
          • 2016-09-24
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2010-12-25
          • 2018-12-13
          • 2021-04-21
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多