【问题标题】:jquery.hotkeys.js replaces input field with .bindjquery.hotkeys.js 用 .bind 替换输入字段
【发布时间】:2011-10-11 09:58:34
【问题描述】:

我正在使用jquery.hotkeys.js 并以下列方式映射我的键绑定:

$(document).bind('keydown', 'i', function() {
      $("input#foo").focus()
});

然而,在调用焦点之后(尝试将光标移动到输入字段的末尾,同时按下键 i 被聚焦在文档上)它只是将输入字段的内容替换为 i。可以防止完全替换,但是,即使这样做,i 仍然会被附加。示例:

$(document).bind('keydown', 'i', function() {
      var val = $("input#foo").val()
      $("input#foo").focus()
      $("input#foo").val(val.substring(0,val.length-1)
});

在这种情况下,television 的输入将变成televisioi。任何人都知道任何可能的解决方法吗?谢谢!!

【问题讨论】:

    标签: javascript jquery cursor hotkeys


    【解决方案1】:

    您可以通过传递事件来阻止默认功能:

    $(document).bind('keydown', 'i', function(event) {
        event.preventDefault();
        $("input#foo").focus();
    });
    

    我想你也想阻止 keyup 功能:

    $(document).bind('keyup', 'i', function(event) {
        event.preventDefault();
    });
    

    【讨论】:

      猜你喜欢
      • 2011-03-05
      • 1970-01-01
      • 2014-02-21
      • 1970-01-01
      • 1970-01-01
      • 2015-04-23
      • 2017-11-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多