Twitter bootstrap tokenfield
如果检测到无效输入,有没有办法取消在.on('beforeCreateToken')内创建令牌?
答案 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">×</a>')
永远不会到达。所以这实际上是thé取消创作的方式。