Ste*_*eve 4 jquery jquery-mobile
在页面完全加载并且JQM处理了所有ui修改(即列表视图,按钮等)之后,我试图只执行一次JS片段.我确实希望它只在该页面上执行,而不是在后续页面上执行.
我首先尝试的是页面显示
<script>
$('[data-role=page]').live("pageshow", function() {
alert("Ready!");
});
</script>
Run Code Online (Sandbox Code Playgroud)
这有一个问题,即该函数现在附加到页面div,并在每次显示任何后续页面时执行.但是,我只希望执行一次,并且只对包含该JS片段的页面执行.
有没有办法收听pageshow事件,而不实际附加功能.
我能够做到的唯一方法是通过绑定和取消绑定:
<script>
$('[data-role=page]').bind("pageshow.test", testfun);
function testfun() {
alert("Ready!");
$('[data-role=page]').unbind("pageshow.test", testfun);
}
</script>
Run Code Online (Sandbox Code Playgroud)
但有更优雅的方式吗?