Search code examples
javascriptjquerytwitter-typeaheadbloodhound

How to prevent a tag from deletion?


I am using twitter typeaheadjs to populate tags on my page. I want to prevent a tag from deletion when tag value is equal to login id.

I got the event from docs:

Before item remove event:

$('input').on('beforeItemRemove', function(event) {
    alert("before item removed");
    var tag = event.item;
    if(tag == DataMixin.data.user.username){
        console.log('cannot delete agent');
    }else{
        console.log('agent deleted');
    }
 });

After item removed event:

$('input').on('itemRemoved', function (event) {
    alert("item removed");
        }
    }
});

How do I prevent tag deletion based on above condition in typeaheadJS


Solution

  • From the docs:

    event.cancel: set to true to prevent the item getting removed

    $('input').on('beforeItemRemove', function(event) {
        alert("before item removed");
        var tag = event.item;
        if(tag == DataMixin.data.user.username){
            event.cancel = true;
            console.log('cannot delete agent');
        }else{
            console.log('agent deleted');
        }
     });