我正在尝试使用提供自动完成功能的Bootstrap 插件。虽然这个插件运行良好,但有时当用户在靠近文本框边框的地方输入时,自动完成 div 会超出文本框。有关更多信息,请参见下图。
如何使用 CSS 或 JavaScript 确保自动完成 div 永远不会超出文本框?
您可以挂钩show
事件并检查弹出窗口是否接近textarea
(或您希望实施的任何规则)的右边界。如果是,则更改下拉列表的位置,使其显示在插入符号的左侧:
onshow: function (e) {
var $dropdown = this.$dropdown.find('.dropdown-menu');
var textAreaWidth = this.$element.width();
var dropdownWidth = $dropdown.width();
var dropdownLeft = $dropdown.position().left;
// display left of caret if menu gets near right textarea border
if (dropdownLeft + dropdownWidth >= textAreaWidth)
{
$dropdown.css({left: dropdownLeft - dropdownWidth});
}
}
完整演示:https : //jsfiddle.net/dowxo2jk/1/
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句