【问题标题】:how to call jquery autocomplete function on ctrl+ spacebar?如何在 ctrl 空格键上调用 jquery 自动完成功能?
【发布时间】:2015-06-03 10:36:29
【问题描述】:

如何在 CTRL + Space 上调用 javascript 函数?

function getdata() {
    console.log("hello");
}

当我点击 CTRL + Space 上的getdata() 函数并给出自动建议时。

  • 如果用户在我的文本框中输入一些内容,例如sta
  • 用户类型 CTRL + 空格
  • 它应该给我一个自动建议,如stackstackoverstackoverflow

【问题讨论】:

    标签: javascript jquery autocomplete


    【解决方案1】:

    为了接受来自 CTRL + SPACE 的键盘输入,您需要注册一个事件处理程序 (http://www.quirksmode.org/js/events_tradmod.html),然后监听来自用户的输入。这将从一系列击键事件中读取并检查它们是否为真,然后在按键被按下时触发事件,当它们被释放时事件为假。

    var map = {17: false, 32: false};
    $(document).keydown(function(e) {
        if (e.keyCode in map) {
            map[e.keyCode] = true;
            if (map[17] && map[32]) {
                // FIRE EVENT
            }
        }
    }).keyup(function(e) {
        if (e.keyCode in map) {
            map[e.keyCode] = false;
        }
    });
    

    如果您访问此链接:cambiaresearch.com/articles/15/javascript-char-codes-key-codes,您会发现所有键码都列在此处。 17 和 32 是 CTRL + SPACE。

    查看有关使用 JQuery 的 auto_complete 的本指南。此代码将在触发事件的地方执行。

    https://github.com/mliebelt/jquery-autocomplete-inner

    【讨论】:

      【解决方案2】:

      看看这个答案。 - https://stackoverflow.com/a/16006607/2277126

      这里有键码列表key codes

      祝你好运!

      【讨论】:

        【解决方案3】:

        当用户按下 Ctrl + 空格时,我如何让 JQuery 自动完成以显示其下拉列表:

        $( "#" + myElementId )
          .on( "keydown", function( event ) {
            // Ctrl+space opens the autocomplete dropdown
            if (event.keyCode === $.ui.keyCode.SPACE && event.ctrlKey ) {
              $(this).autocomplete("search");
            }
          });
        

        【讨论】:

          猜你喜欢
          • 2017-10-16
          • 1970-01-01
          • 1970-01-01
          • 2015-06-20
          • 1970-01-01
          • 2017-07-21
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多