我尝试执行对外部程序的调用以在JQuery Mobile中的可折叠内部的DIV中创建内容,以便在打开可折叠时出现JQM可折叠中的div时运行一些代码。我尝试使用jquery.appear插件(https://github.com/morr/jquery.appear),如下所示:
<div id="coll2" data-role="collapsible" data-mini="true" data-inset="false" data-iconpos="right">
<h1>Collapsible 1</h1>
Collapsible Title!
<div id="2wrapper"></div>
</div>
<script type="text/javascript">
$(document.body).on('appear', '#2wrapper', function() {
// this element is now inside browser viewport
alert("Script running");
$("#2wrapper").load('some-external-program-content.cgi');
});
</script>
我显然遗漏了一些东西,因为在打开折叠功能时div不会更新。会出现在这种情况下吗?或者是否有更有效的方法来实现这一目标&#34;随需应变&#34;加载可折叠的内容?
答案 0 :(得分:1)
您不需要任何插件,只需使用可折叠的expand事件:
$(document).on("collapsibleexpand", "#coll2", function(event, ui)
{
$("#2wrapper").load('some-external-program-content.cgi');
});
...顺便说一下:避免让ID以数字开头(即使HTML5中允许使用ID)也是一种好习惯。