如何在父容器中使用 CSS 或 javascript 移动 div

开放式堆栈

我正在尝试使用提供自动完成功能的Bootstrap 插件虽然这个插件运行良好,但有时当用户在靠近文本框边框的地方输入时,自动完成 div 会超出文本框。有关更多信息,请参见下图。

如何使用 CSS 或 JavaScript 确保自动完成 div 永远不会超出文本框?

在此处输入图片说明

K·斯坎德雷特

您可以挂钩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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章