【发布时间】:2015-06-04 07:36:26
【问题描述】:
编辑:添加working JSFiddle
我正在使用带有 Bootstrap Typeahead 的 Twitter Bootstrap TagsInput。我的源是一个 json 文件,但这无关紧要,我已经检查了一个静态源。
typeahead 和 tagsinput 正在工作,但是当我按 enter、tab 或单击标签时,它会创建一个重复的完成。
每当我按下回车键或完成预先输入时,就会发生极端的“默认”。如果我通过用逗号分隔或将焦点从窗口移开来打破预输入,则不会发生。
这是输入:
<input id="itemCategory" type="text" autocomplete="off" class="tagsInput form-control" name="itemCategory">
这是脚本:
<script>
$('.tagsInput').tagsinput({
confirmKeys: [13, 44],
maxTags: 1,
typeahead: {
source: function(query) {
return $.get('listcategories.php');
}
}
});
</script>
我敢肯定,我很幸运,这是无法重现的东西,所以我希望有人能掌握一些他们知道会导致这种情况发生的机构知识。
这是额外文本的图像,在 dev.工具:
我非常感谢任何意见或建议。谢谢。
工作代码
感谢@Girish,以下是“修复”此问题的原因。我认为这是一个错误,在更新版本的 jQuery 或 Typeahead 中引入。这段代码只是手动删除了额外的元素,尽管希望会出现一些东西来阻止它首先被放置在那里,从而消除额外的代码。现在它对我有用。
$('.tagsInput').tagsinput({
confirmKeys: [13, 44],
maxTags: 1,
typeahead: {
source: function(query) {
return $.get('tags.php');
}
}
});
$('.tagsInput').on('itemAdded', function(event) {
setTimeout(function(){
$(">input[type=text]",".bootstrap-tagsinput").val("");
}, 1);
});
【问题讨论】:
-
你的 jsfiddle 不工作
-
@DhirajBodicherla 不工作是指不展示我的问题还是展示我的问题?
-
kobrien.me 中包含的文件面临
net::ERR_INSECURE_RESPONSE错误并且未在小提琴中加载。尝试包含来自某些 cdn 的文件 -
你能推荐一种方法来为 jsfiddle 托管它们,它不会遇到这个问题吗?我的服务器证书是自签名的。
-
尝试使用 rawgit.com 这肯定适用于 jsfiddle。只需将原始 js/css 文件粘贴到 rawgit.com 即可。 rawgit 会吐出 cdn.rawgit.com 的 url 可以包含在 jsfiddle 中
标签: jquery twitter-bootstrap typeahead bootstrap-tags-input