我在我正在制作的Django网站上使用Twitter引导程序.我有一个页面,用户可以在配有bootstrap typeahead的文本输入中输入他们的所有技术技能.我正在尝试访问下拉菜单中当前所选内的文本,这样当按下ENTER并在下拉列表中突出显示一个元素时,它将获取该值并将其显示在输入文本字段下方.然后清除输入文本字段,用户可以搜索其他技能.
$(document).keyup(function(event) {
if (event.keyCode == 13) {
if ($('.dropdown-menu').css('display') != 'none'){
var newskill = $(".dropdown-menu > li.active").val();
alert('Yay');
}
else{
var newskill = $("#enterbox").val();
alert('Boo');
}
return false;
}
});
Run Code Online (Sandbox Code Playgroud)
如果下拉列表可见,则输入按键功能将获取下拉列表的当前活动元素并将其粘贴到文本框中(内置于Bootstrap中).没有警告框显示.知道如何在发生这种情况之前让我的函数触发,即在Bootstrap函数启动之前?
我试图定义一个与任何对象/字典匹配但不匹配数组的类型。
我的第一次尝试没有成功,因为从技术上讲,数组是底层的对象:
const a:{[k:string]: any} = []; // works fine
Run Code Online (Sandbox Code Playgroud)
我还知道可以创建一个通用的“检查器”,如下所示:
type NoArray<T> = T extends any[] ? never : T;
Run Code Online (Sandbox Code Playgroud)
但这不是我要找的。我想要一个像这样工作的非泛型类型:
const a: NoArrayType = {}; // works fine
const a: NoArrayType = []; // TypeError
Run Code Online (Sandbox Code Playgroud)