Javascript 当用户按enter键时,如何防止清除文本字段

Javascript 当用户按enter键时,如何防止清除文本字段,javascript,jquery,twitter-bootstrap,Javascript,Jquery,Twitter Bootstrap,就目前而言,我不是在引导typeahead上自动选择(见下面的代码),这很好,但以前当用户点击enter时,它与自动选择[0]一起运行,现在它正在清除单元格,我应该如何使它保留当前单元格的内容 用于在bootstrap-typeahead.js上禁用自动选择和高亮显示的代码,如下所示: $.fn.typeahead.Constructor.prototype.render = function (items) { var that = this; items = $(items).map(f

就目前而言,我不是在引导typeahead上自动选择(见下面的代码),这很好,但以前当用户点击enter时,它与自动选择[0]一起运行,现在它正在清除单元格,我应该如何使它保留当前单元格的内容

用于在bootstrap-typeahead.js上禁用自动选择和高亮显示的代码,如下所示:

$.fn.typeahead.Constructor.prototype.render = function (items) {
 var that = this;
 items = $(items).map(function (i, item) {
 i = $(that.options.item).attr('data-value', item);
 i.find('a').html(that.highlighter(item));
 return i[0];
});

this.$menu.html(items);
 return this;
};

您已停止将类
活动
放在突出显示的项目上,但引导程序不知道如何处理此问题。您需要做的是更改
select
函数,如果没有
活动的
类,则不执行它通常执行的操作。这是密码

$.fn.typeahead.Constructor.prototype.select = function () {
    if (this.$menu.find('.active').length) {
      var val = this.$menu.find('.active').attr('data-value')
      this.$element
        .val(this.updater(val))
        .change()
      return this.hide()
    }
}

也许我没有抓住要点-但我在Firefox 21中看不到不必要的行为…我在chrome上,当我点击回车键时它没有填充我更新了我的js版本,仍然不工作。我在boostrap 1.7上,这可能会导致问题。太棒了,我们真的很接近了,现在当我点击该项目时它实际上没有选择它。嗯,它为我选择了它(我正在使用最新的Chrome并尝试JSFIDLE)。JSFIDLE对您或您的实现不起作用吗?您使用的是哪种浏览器?说明:我现在可以使用无高亮显示的typahead。我现在可以在打字时按enter键,并且仍然在框中保留文本。我无法在typeahead中选择某个内容,并让它替换我输入的单元格内容。您还没有真正回答我的问题。根据你的描述,在我的回答中,它在JSFIDLE中对我仍然有效,我在Firefox和Chrome中尝试过。我在Chrome中尝试过,在我的网站上它不起作用。我可以让你访问我的网站,亲自查看。