jQueryMobile 'data-scroll=true'不适用于动态注入的页面
如果页面是静态页面,data-scroll="true"
工作正常,但如果我使用 javascript 动态添加页面,它就不起作用。
我的标题部分是:
<link rel="stylesheet" href="css/jquery.mobile-1.0rc2.css" />
<link rel="stylesheet" href="css/jquery.mobile.scrollview.css" />
<script type="text/javascript" src="http://code.jquery.com/jquery-1.7.1.js"></script>
<script type="text/javascript" src="js/jquery.mobile-1.0rc2.js"></script>
<script type="text/javascript" src="js/jquery.easing.1.3.js"></script>
<script type="text/javascript" src="js/jquery.mobile.scrollview.js"></script>
<script type="text/javascript" src="js/scrollview.js"></script>
我还添加了 data-scroll
属性并使用 javascript 将其设置为 true
,下面是我的代码:
var pageHtml = "<div data-role='page' data-scroll='true' id=page" + pageId + " data-url=page" + pageId + ">";
var pageHeader = "<div data-role='header' data-position='fixed'><h1>" + menuItem + "</h1></div>";
var pageContent = "<div data-role='content' id='page" + pageId + "Content'></div>";
var page = pageHtml + pageHeader + pageContent + "</div>";
$(page).appendTo($.mobile.pageContainer);
请帮助我...
data-scroll="true"
works fine if the page is static page, but if I add page dynamically using javascript it does not work.
My Header section is :
<link rel="stylesheet" href="css/jquery.mobile-1.0rc2.css" />
<link rel="stylesheet" href="css/jquery.mobile.scrollview.css" />
<script type="text/javascript" src="http://code.jquery.com/jquery-1.7.1.js"></script>
<script type="text/javascript" src="js/jquery.mobile-1.0rc2.js"></script>
<script type="text/javascript" src="js/jquery.easing.1.3.js"></script>
<script type="text/javascript" src="js/jquery.mobile.scrollview.js"></script>
<script type="text/javascript" src="js/scrollview.js"></script>
I also added the data-scroll
attribute and set it to true
using javascript, below is my code :
var pageHtml = "<div data-role='page' data-scroll='true' id=page" + pageId + " data-url=page" + pageId + ">";
var pageHeader = "<div data-role='header' data-position='fixed'><h1>" + menuItem + "</h1></div>";
var pageContent = "<div data-role='content' id='page" + pageId + "Content'></div>";
var page = pageHtml + pageHeader + pageContent + "</div>";
$(page).appendTo($.mobile.pageContainer);
Please help me...
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
尝试这样的事情:
我遇到了同样的问题,为我工作。
迟做总比不做好:-)
Try something like this:
I had the same problem, worked for me.
Better later than never :-)
经过长时间的研究,我发现 -
我们需要将每个滚动块的动态 HTML 加载到唯一的容器中。
例如 -
HTML
JS
如果我们首先在“scrollContainer”上加载滚动视图,
那么下次我们需要加载到不同的容器中
- 可选< /strong>
要再次动态加载到
#scrollContainer
中,我们可以删除 &重新创建。
执行第二个代码块后,
应该还有其他解决方案,但这个确实有效。
After a long research, what I found is-
we need to load the dynamic HTML, for each scroll block, to unique container s.
for eg.-
HTML
JS
if we loaded a scrollview on 'scrollContainer' at first,
then next time, we need to load in a different container-
Optional
To again dynamically load into
#scrollContainer
, we can remove & recreate the<div>
.after executing the second code block
other solutions should be there, but this one really works.
您需要 JQM 应用该页面 - 尝试
甚至
希望这有助于
更新:这是 JQM关于如何正式执行此操作的文档
You need to JQM apply that page - try
or even
Hope this helps
UPDATE: here's the JQM documentation on how to officially do this