我制作了一个小网页,其源代码可在FIDDLE上找到。它使用了jquery plugin我自动完成的功能。
插件在初始化输入后添加一个新的div (.mridautocomplete-list)
,其中包含自动完成列表:
<input id="test1">
<div class="mridautocomplete-list" style="display: block; left: 8px; width: 169px; position: absolute; background-color: white; border: 1px solid rgb(221, 221, 221); max-height: 150px; overflow-x: hidden; overflow-y: scroll; font-family: Arial; font-size: 13.3333px; z-index: 8888;">
<p class="mrid-autocomplete-item" style="margin: 0px; padding-left: 2px; text-align: left; font-size: 13.3333px; cursor: default; background-color: white;"><img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" class="mridautocomplete-item-image" style="height: 11px; width: 11px;"><span style="color: #4682B4; font-weight: bold;">a</span>aa</p>
<p class="mrid-autocomplete-item" style="margin: 0px; padding-left: 2px; text-align: left; font-size: 13.3333px; cursor: default; background-color: white;"><img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" class="mridautocomplete-item-image" style="height: 11px; width: 11px;">b<span style="color: #4682B4; font-weight: bold;">a</span>b</p>
</div>
<input class="test2">
<div class="mridautocomplete-list"></div>
<input class="test3">
<div class="mridautocomplete-list"></div>
问题是:
此网页在fiddle
上完全按预期呈现但是当我在我的浏览器上运行相同的代码(没有小提琴)时,它没有正确显示,移动所有元素(显示在附近的屏幕上)
任何人都可以解释可能导致问题的原因吗?
答案 0 :(得分:1)
您的80%
课程的宽度为display: block
。
其他输入的默认宽度为173px。
如果您将小提琴窗口调整到更大的宽度,您将看到同样的问题。
要解决此问题,您可以在.test2
课程中添加this.get()
。
答案 1 :(得分:1)
您是否已经尝试过显示CSS属性?将第二个输入设置为“display:block”会强制第三个输入到下一行。
另一种选择是将自动完成Javascript放在关闭正文标记之前。这对我来说也适用于Chrome,Firefox和Safari。