0

Twitter 引导令牌字段

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

4

1 回答 1

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;
  } 
});

如果为空,则不会插入令牌(相当明显:)


从源头来看,最新开发版本 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

beforeCreateToken 内部触发createToken(),如果设置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>')

永远达不到。所以这实际上是取消创建的方法。

于 2014-02-23T15:37:58.843 回答