仅在打开Collapsible时更新JQuery Mobile中的可折叠内部的DIV(例如按需加载)

时间:2015-06-18 06:52:05

标签: html jquery-mobile external jquery-mobile-collapsible

我尝试执行对外部程序的调用以在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;加载可折叠的内容?

1 个答案:

答案 0 :(得分:1)

您不需要任何插件,只需使用可折叠的expand事件:

$(document).on("collapsibleexpand", "#coll2", function(event, ui)
{
    $("#2wrapper").load('some-external-program-content.cgi');
});

...顺便说一下:避免让ID以数字开头(即使HTML5中允许使用ID)也是一种好习惯。