我正在使用jQuery TextExt插件(http://textextjs.com/)创建一个输入字段,用户可以在其中输入语言作为标签,类似于Facebook输入标签的方式。
总体而言,该插件效果很好。
但是,我遇到了障碍,但似乎无法克服。我在输入字段上使用TextExt,如下所示:
<script type="text/javascript">
$('#id_languages').textext({
plugins : 'tags prompt suggestions arrow autocomplete',
tagsItems : ['English'],
suggestions : languages, //variable set earlier
prompt : 'Add more here...',
});
</script>
哪个应该工作。现在,我添加的标签越多,输入字段的增长就越多(按预期)。
但是,在某些时候,它会超出我给定布局中可接受的高度。
有没有一种工作方法,可以使用TextExt指定输入元素的最大高度,并添加一个垂直滚动条,而不会在div内用滚动条弹出“建议”下拉列表?
我希望这是有道理的,目前我有点困惑。
最佳答案
我已经检查了源代码,没有地方可以对其进行更改,以便在没有黑客的情况下完成您所需要的工作。
最接近的答案是限制每个输入的标签数量,可以是
像这里描述的那样完成:How to limit total number of inputs to textExt plugin?
$('#id_languages').textext({
plugins : 'tags autocomplete',
tagsItems : Sourcearray,
ext: {
tags: {
addTags: function(tags) {
if(checkLength()) {
$.fn.textext.TextExtTags.prototype.addTags.apply(this, arguments);
}
}
}
}
});
这是验证功能
checkLength()
:function checkLength(){
if($("#id_languages").next().children().length < 4){
return true;
}
return false;
}
其中数字4是允许的标签数。
如果不满意,您将不得不侵入
textext.core.js
和textext.plugin.tags.js
并寻找以下功能:invalidateBounds()
,preInvalidate()
和postInvalidate()
并进行高度调节。关于javascript - jQuery TextExt:最大高度和滚动条,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19513378/