gpt4 book ai didi

Jquery Tagsinput 在粘贴输入时不会自动创建标签

转载 作者:行者123 更新时间:2023-12-01 02:54:15 24 4
gpt4 key购买 nike

我正在使用 jquery.tagsinput,并且希望能够粘贴以逗号或空格分隔的电子邮件地址列表。使用类似的东西 https://github.com/xoxco/jQuery-Tags-Input/issues/22但它不会添加它们,直到我按 Enter - 尝试触发按键 Enter 事件,但它不起作用。模糊事件也没有运气(如下所示)。有什么想法吗?

Flat-UI 标签基于此库,我正在尝试实现非常相似的行为。

var tidyTags = function(e) {
var tags = (e.tags).split(/[ ,]+/);
var target = $(e.target);

for (var i = 0, z = tags.length; i<z; i++) {
var tag = $.trim(tags[i]);
if (!target.tagExist(tag)) {
target.addTag(tag);
}
}
$('#' + target[0].id + '_tag').trigger('focus');

//This doesn't work.
target.blur();

};

$("#tagsinput").tagsInput({
onAddTag : function(tag){
if(tag.indexOf(',') > 0) {
tidyTags({target: '#tagsinput', tags : tag});
}
},
});

最佳答案

好吧,终于找到了解决方案:

<强> DEMO HERE

只需在粘贴时向文本框添加一个监听器,并且在初始化期间不要设置onAddTag,只需对其进行简单的调用,如下所示:

$("#tagsinput").tagsInput();//Initialization

$("#tagsinput_tag").on('paste',function(e){
var element=this;
setTimeout(function () {
var text = $(element).val();
var target=$("#tagsinput");
var tags = (text).split(/[ ,]+/);
for (var i = 0, z = tags.length; i<z; i++) {
var tag = $.trim(tags[i]);
if (!target.tagExist(tag)) {
target.addTag(tag);
}
else
{
$("#tagsinput_tag").val('');
}
}
}, 0);
});

Some points to note:

  • paste method will only fire if text is selected in Firefox
  • tagsinput will hide your #tagsinput textbox and adds its own input textbox and thus you need to call paste event on #tagsinput_tag textbox and the structure of the element will be as shown in below image:Structure image

关于Jquery Tagsinput 在粘贴输入时不会自动创建标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30586953/

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