在ajax导航页面中,用于执行初始化javascript的经典“文档就绪”表单根本不会触发。
在ajax加载的页面中执行某些代码的正确方法是什么?
(我的意思是,不是我的ajax …这是将我带到该页面的jQuery移动页面导航系统)
好的,我确实怀疑这样的事情……非常感谢=)但是…仍然不起作用,这是我的代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>mypage</title> <link rel="stylesheet" href="jquery.mobile-1.0a4.min.css" /> <script type="text/javascript" src="jquery-1.5.min.js"></script> <script type="text/javascript" src="jquery.mobile-1.0a4.min.js"></script> <script type="text/javascript"> $('div').live('pageshow',function(event, ui){ alert('ciao'); }); </script> </head> <body> <div data-role="page"> <div data-role="header" data-position="fixed"> <h1>Shopping Cart</h1> </div> <div data-role="content"> asd </div> </div> </body>
我需要指定div ID吗?
我花了一些时间来研究它,因为此时JQM文档还不太详细。下面的解决方案适合我:
<script type="text/javascript"> $('div:jqmData(role="page")').live('pagebeforeshow',function(){ // code to execute on each page change }); </script>
您必须实现自己的检查流程,以防止多次初始化,因为上面的代码将在每次页面更改时运行