Twitter 引导令牌字段
如果检测到无效输入,有没有办法取消在 .on('beforeCreateToken') 内创建令牌?
Twitter 引导令牌字段
如果检测到无效输入,有没有办法取消在 .on('beforeCreateToken') 内创建令牌?
是的。我假设你正在使用这个库 - > 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">×</a>')
永远达不到。所以这实际上是取消创建的方法。