gpt4 book ai didi

javascript - Bootstrap-TagsInput 确认键不起作用

转载 作者:可可西里 更新时间:2023-11-01 13:28:05 25 4
gpt4 key购买 nike

我无法获得默认的 Bootstrap-TagsInput confirmKeys,即 enter = 13comma = 188,开箱即用。无论有没有 Typeahead.js 都是如此.确认键允许您通过单击该键来创建标签。

我认为问题在于标签是字符串还是对象。如果你看the Tagsinput demo ,“Typeahead”示例允许使用默认的 confirmKeysentercomma 创建标签,但它下面的“Objects as Tags”示例没有。

知道如何让 confirmKeys 与对象标签一起工作吗?

最佳答案

我必须编辑 Bootstrap-tagsinput 库才能完成这项工作。

这是我在库中添加/注释掉的内容:

 //self.options.freeInput = false; //notice commented out

//... (lots of lines between)

if (self.options.freeInput && (keyCombinationInList(event, self.options.confirmKeys) || maxLengthReached)) {
// Only attempt to add a tag if there is data in the field

if (text.length !== 0) {
//<<<<< BEGIN code block added
//self.add(maxLengthReached ? text.substr(0, self.options.maxChars) : text); //notice commented out

var item2 = self.$input.val();
if (self.objectItems) {
var beforeFreeInputItemAdd = $.Event('beforeFreeInputItemAdd', { item: item2, cancel: true });
self.$element.trigger(beforeFreeInputItemAdd);
if (beforeFreeInputItemAdd.cancel)
return;

item2 = beforeFreeInputItemAdd.item;
}

self.add(item2);
self.$input.val('');
// $input.val(''); //>>>>>> END code block added
}

}

然后在代码库中任何想要使用这个库修改的地方,我添加了这个:

var id_increment = 1;
$("#my-tagsinput-field").on('beforeFreeInputItemAdd', function(event) {

event.item = {'name': event.item, 'id': 'new-'+id_increment};
event.cancel = false;
id_increment++;

});

关于javascript - Bootstrap-TagsInput 确认键不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34454269/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com