当用户输入搜索时,我在文本框的keyup事件上替换我页面上div标签中的html。当通过div标签上的jQuery' s .html()方法设置html时,整个页面向左移动,然后向右移动。出于某种原因,这种情况只发生在我将网站部署到IIS网站时,当我在Visual Studio中本地运行时,页面不再向左移动并返回到右侧。当我替换div标签内容时,我首先通过调用.html('')清除它,然后将其设置为搜索结果,即ul标签。这个问题也只发生在Chrome上,它可以在Edge上正常运行。
答案 0 :(得分:0)
发布代码有帮助,因此我们不必对您正在做的事情做出假设。
如果你实际上做了类似的事情:
$("#id").html("");
$("#id").html("html-here");
然后这是有道理的,第一个.html()
调用将div设置为空,导致你提到的转换,然后在下次调用.html()
时再次填充div。
使用单个调用不会导致页面重新呈现两次,但它仍会覆盖您想要的内容(您可能一直在考虑$.append()
,您必须首先清除:
$("#id").html("html-here");