Twitter引导令牌字段取消.on('beforeCreateToken')

时间:2014-02-23 14:12:36

标签: jquery twitter-bootstrap bootstrap-tokenfield

Twitter bootstrap tokenfield

如果检测到无效输入,有没有办法取消在.on('beforeCreateToken')内创建令牌?

1 个答案:

答案 0 :(得分:0)

是。我假设您正在使用此库 - > http://sliptree.github.io/bootstrap-tokenfield/ ??

只需在beforeCreateToken处理程序中重置令牌,此处如果要插入的令牌包含在排除列表中:

var exclusionList = ['a','b','c'];

$('#tokenfield').on('beforeCreateToken', function(e) {
  var token = e.token.value;
  if (exclusionList.indexOf(token)>-1) {
    e.token=false;
  } 
});

如果为空,则不插入令牌(而是obvoius:)


从源代码开始,关于最新开发版本v0.11.0(https://github.com/sliptree/bootstrap-tokenfield/blob/master/js/bootstrap-tokenfield.js)中的第176-178行:

  this.$element.trigger( beforeCreateEvent )

  if (!beforeCreateEvent.token) return

createToken()内触发beforeCreateToken,如果将e.token设置为false或为空,则退出该函数并

var token = $('<div class="token" />')
            .attr('data-value', value)
            .append('<span class="token-label" />')
            .append('<a href="#" class="close" tabindex="-1">&times;</a>')

永远不会到达。所以这实际上是thé取消创作的方式。