首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Tagify Jquery插件中删除标签前设置确认消息?

如何在Tagify Jquery插件中删除标签前设置确认消息?
EN

Stack Overflow用户
提问于 2020-03-04 18:15:56
回答 3查看 931关注 0票数 1

在删除标签之前,我需要确认消息"Yes“或"No”。

插件链接在这里:https://yaireo.github.io/tagify/

有人能帮我吗?

代码语言:javascript
复制
<input name="tag_name" id="tagInput" placeholder="" value="">

<script>
var tagInput = document.querySelector('input[name="tag_name"]');
    tagify = new Tagify(tagInput, {
        whitelist: [],
        maxTags: 1000,
        dropdown: {
            maxItems: 5,           // <- mixumum allowed rendered suggestions
            classname: "tags-look", // <- custom classname for this dropdown, so it could be targeted
            enabled: 0,             // <- show suggestions on focus
            closeOnSelect: true    // <- do not hide the suggestions dropdown once an item has been selected
        }
});

tagify.on('remove', function(e) {
    console.log('removed');
});
</script>
EN

回答 3

Stack Overflow用户

发布于 2020-03-05 00:57:40

根据文档,您可以这样做:

代码语言:javascript
复制
tagify.on('remove', function(e) {
  var a = confirm("Are you sure you want to remove '" + e.detail.data.value + "'?");
  if(a){
    console.log('removed');
  }
  return a;
});

如果您需要UI对话框解决方案,请查看以下内容:

confirm form submit with jquery UI

Send Jquery UI Dialog value to Url.Action

票数 0
EN

Stack Overflow用户

发布于 2020-09-03 23:15:39

标签移除有一个回调钩子:

代码语言:javascript
复制
var input = document.querySelector('input')
var tagify = new Tagify(input,{
    hooks: {
        /**
         * Removes a tag
         * @param  {Array}  tags [Array of Objects [{node:..., data:...}, {...}, ...]]
         */
        beforeRemoveTag : function( tags ){
            return new Promise((resolve, reject) => {
                confirm("Remove " + tags[0].data.value + "?")
                    ? resolve()
                    : reject()
            })
        }
    }
})

https://github.com/yairEO/tagify#hooks

票数 0
EN

Stack Overflow用户

发布于 2020-09-22 01:55:52

阅读文档中的hooks section

您可以使用beforeRemoveTag挂钩:

代码语言:javascript
复制
var input = document.querySelector('input')
var tagify = new Tagify(input, {
    hooks: {
        beforeRemoveTag : tags => {
            // set tag loading state
            tagify.tagLoading(tags[0].node, true)

            return new Promise((resolve, reject) => {
                confirm(`Remove ${tags[0].data.value} ?`)
                    ? resolve()
                    : reject()
                
                // unset tag loading state
                tagify.tagLoading(tags[0].node, false)
            })
        }
    }
})
代码语言:javascript
复制
body{ font: 16px arial; }
代码语言:javascript
复制
<script src="https://unpkg.com/@yaireo/tagify"></script>
<link href="https://unpkg.com/@yaireo/tagify/dist/tagify.css" rel="stylesheet" type="text/css" />
<input value="xxx, yyy, zzz" placeholder='Try deleting tags'>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60523718

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档