javascript - TextArea 下拉菜单 - 不下推页面内容

标签 javascript jquery html css

我有一个文本区域,可在用户键入文本时提供实时建议。 这些建议显示在下拉菜单中。 我遇到的问题是下拉菜单覆盖了位于文本区域正下方的部分 DIV。

我需要在下拉菜单打开时下推页面内容,以便整个页面内容始终可见。

HTML代码:

<textarea id="tags" class='autoExpand' rows='3' data-min-rows='3'></textarea>

<div id="quickHelpWrapper">
        <br><small><b>Quick Help</b></small>
        <div id="quickHelp">
            Additional Info 1<br>
            Additional Info 2<br>
            Additional Info 3<br>
            Additional Info 4<br>
            Additional Info 5<br>
        </div>
    </div>

本质上,我需要名为 quickHelpWrapper 的 DIV,它会在 textarea 下拉菜单打开时向下推。

JSfiddle 上的示例:https://jsfiddle.net/jarosciak/kjy149p5/

截图如下: enter image description here

最佳答案

您在此处使用的 jQuery UI 自动完成功能相对定位此元素 - 因此您必须覆盖它。 (position 选项无法修复这个 AFAIK,因为它只允许指定元素相对于另一个元素的定位位置,但它不允许指定“请不要定位。 ”)

您可以通过以下三个步骤解决此问题:

在文本区域周围放置一个容器元素(因为我们不能直接将元素附加到文本区域):

<div id="foo">
  <textarea id="tags" class='autoExpand' rows='3' data-min-rows='3'></textarea>
</div>

appendTo 选项添加到您的自动完成初始化中:

.autocomplete({
  delay: 50,
  minLength: 1,
  multiline: true,
  autoFocus: true,
  appendTo: '#foo',
  source: function(request, response) {
    …

最后,将其添加到您的样式表以覆盖此插件设置的 position: relative 内联样式,

.ui-autocomplete {
    position: static !important;
}

你的例子,相应地修改:https://jsfiddle.net/kjy149p5/17/

关于javascript - TextArea 下拉菜单 - 不下推页面内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52851705/

相关文章:

javascript - 如何让动态创建的元素显示一段时间?

javascript - 在 Node 项目中添加多个 BigQuery JSON 凭证文件

javascript - 从表列调用 javascript 函数

jquery - 我可以使用 jquery 验证引擎验证动态创建的表单吗?

python - 为什么我的 Flask 应用程序不能连接到我的 CSS 文件?

javascript - 如何在 MS Word 2013 中使用 String.replace() 方法而不弄乱空白段落和对象标识符?

jquery - 如何制作 Logo css slider ?

javascript - bxSlider Uncaught TypeError 未定义不是函数

javascript - 一起设置三个输入数字的最大值

html - 除 Firefox 之外的所有浏览器中的不需要的边距