Javascript 引导类型预选-不自动选择第一项吗?
我正在使用,它允许异步数据源和onselect事件。到目前为止,它对我来说工作得非常好,但是当用户从字段中签出,即没有主动选择下拉条目时,会触发onselect事件,在我的情况下,该事件会将用户重定向到另一个页面。如果用户没有单击,是否有任何方法可以阻止触发onselect事件?以下是迄今为止我在《咖啡脚本》中得到的内容:Javascript 引导类型预选-不自动选择第一项吗?,javascript,coffeescript,twitter-bootstrap,typeahead,Javascript,Coffeescript,Twitter Bootstrap,Typeahead,我正在使用,它允许异步数据源和onselect事件。到目前为止,它对我来说工作得非常好,但是当用户从字段中签出,即没有主动选择下拉条目时,会触发onselect事件,在我的情况下,该事件会将用户重定向到另一个页面。如果用户没有单击,是否有任何方法可以阻止触发onselect事件?以下是迄今为止我在《咖啡脚本》中得到的内容: $(document).ready -> $('#inspection_name').typeahead( source: (typeahead, quer
$(document).ready ->
$('#inspection_name').typeahead(
source: (typeahead, query) ->
$.ajax(
url: "/inspections/search.json?name="+query
success: (data) =>
return_list = []
$(data.results.inspections).each ->
return_list.push("<span data-url='" + this.uri + "/edit'>" + this.name + ", " + this.town + "</span>")
typeahead.process(return_list)
)
onselect: (obj) =>
window.location.href = $(obj).attr("data-url")
)
最后,我回答了我自己的问题,并将调整放在以下要点中:
对于默认引导,这将起作用:
$.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;
};
在包含bootstrap.min.js之后的某个地方,所有的积分都应该归于@jrochkind,但为了更清楚,我想在这里给出答案 在bootstrap.js之后添加以下内容:
您可以在角度引导打印头中设置属性
typeahead-focus-first="false"
jQuery也有类似的选项我现在已经回答了自己的问题。我对最初的要点做了一个小的编辑,以停止选项卡切换时的默认行为。谢谢,这个要点真的很有用。如果你把你的评论变成一个答案,我会把它投上去。谢谢你,我在上面做了一些扩展,让tab键在选项间循环:我使用的是标准的默认引导,这很有效,除了它还引入了一个bug,当我按ENTER键时,它不再执行搜索,我必须手动单击我的“提交”按钮。只找到此链接,该链接解释了我发现的上述问题以及如何正确解决问题。有关其他解决方案,请参阅我的。
typeahead-focus-first="false"