1

我正在使用 tagit ( http://webspirited.com/tagit/ ) 并且到目前为止非常喜欢它。我只有一个障碍要克服。如果我开始输入标签关键字,改变主意然后单击页面上的其他位置(因此输入失去焦点),标签就会被添加。我不希望这种情况发生。我希望仅在选择触发键时添加标签 - 在我的情况下是逗号。否则最后一个标签(可能是部分文本)应该就在那里,直到添加逗号。

这是我到目前为止的代码。非常基本的实现,但我没有看到防止上述情况的方法。

 $('#thename').tagit({
      tagSource:, 
      select:true,
      tagsChanged:function (a, b) {
         if(b=='added' || b=='popped'){
            submitForm();
         }
       },
      triggerKeys:new Array('comma')
   });
4

1 回答 1

2

为这个做了一点小改动,我们将看看结果如何。我在 API 中找不到任何不添加焦点标签的地方,所以我的下一个解决方案是执行以下操作:

- 键入标签
- 单击输入(因此添加标签) - 以
编程方式获取文本输入并删除标签

尝试使用以下代码:

$("#thename").focusout(function() {
    //Get the input text
    var tagText = $(this).val();

    //Verify input is NOT empty

    //Remove the tag that was just added
    $("#thename").tagit('removeTag', tagText);

});

让我知道这是如何工作的。

编辑:

刚刚注意到你在上面的评论。如果您不想允许新标签,请添加

allowNewTags: false,

到原始代码中的 tagit 标记。

于 2013-03-15T21:45:53.900 回答