JSRUN 用代码说话

pagebeforecreate 事件

编辑教程

pagebeforecreate 事件

实例

在页面在初始化时,增强开始之前,弹出一些文本信息:

$(document).on("pagebeforecreate",function(){
  alert("pagebeforecreate event fired!")
});

定义和用法

pagebeforecreate 事件是在页面初始化及jQuery Mobile在开始增强页面之前触发。

注意: 该事件在每个页面中只能触发一次 - 在页面第一次载入时, jQuery Mobile 会在 DOM (内存)缓存页面, 所以当你通过浏览器从第二个页面回退第一个页面时,该事件将不会被触发, 这是因为第一页面已经被初始化了。

相关事件:

pagecreate 在页面创建后,增强完成前触发。
pageinit 在页面初始化后及增强完成时触发。

语法

在jQuery Mobile中触发所有页面事件:

 $("document").on("pagebeforecreate",function(event){...})

触发指定页面事件:

 $("document").on("pagebeforecreate","page",function(event){...})
参数 描述
function(event) 必须。pagebeforecreate 事件触发后指定执行的函数
函数是一个包含任何Jquery事件属性的可选事件对象 (例如 event.target, event.type, 等)。
page 可选。用于指定pagebeforecreate事件触发的页面id 。内部页面, 请使用 #id。 外部页面, 使用 externalfile.html。

更多实例

pagebeforecreate, pagecreate 和 pageinit的演示。

<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="//apps.bdimg.com/libs/jquerymobile/1.4.5/jquery.mobile-1.4.5.min.css">
<script src="//apps.bdimg.com/libs/jquery/1.10.2/jquery.min.js"></script>
<script src="//apps.bdimg.com/libs/jquerymobile/1.4.5/jquery.mobile-1.4.5.min.js"></script>
<script>
$(document).on("pagebeforecreate",function(){
  alert("pagebeforecreate 事件触发 - 页面即将初始化。jQuery Mobile 还未增强页面");
});                     
$(document).on("pagecreate",function(){
  alert("pagecreate 事件触发 - 页面已经创建,但还未增强完成");
});
</script>
</head>
<body>

<div data-role="page">
  <div data-role="header">
    <h1>头部文本</h1>
  </div>

  <div data-role="main" class="ui-content">
    <p>页面已创建,并增强完成。</p>
  </div>

  <div data-role="footer">
    <h1>底部文本</h1>
  </div>
</div> 

</body>
</html>

该实例演示了 pagebeforecreate, pagecreate 和 pageinit 事件的触发。

修改内容

<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="//apps.bdimg.com/libs/jquerymobile/1.4.5/jquery.mobile-1.4.5.min.css">
<script src="//apps.bdimg.com/libs/jquery/1.10.2/jquery.min.js"></script>
<script src="//apps.bdimg.com/libs/jquerymobile/1.4.5/jquery.mobile-1.4.5.min.js"></script>
<script>
$(document).on("pagebeforecreate",function(event){
  $(".manipulate").attr("data-inset","true");
}); 
</script>
</head>
<body>

<div data-role="page" id="pageone">
  <div data-role="header">
    <h1>文本头部</h1>
  </div>

  <div data-role="main" class="ui-content">
    <p>该实例中, 在 pagebeforecraete 事件触发时设置 data-inset 属性为 true 。</p>
    <ul class="manipulate" data-role="listview">
      <li data-role="list-divider">Europe</li>
      <li><a href="#">Norway</a></li>
      <li><a href="#">Germany</a></li>
      <li data-role="list-divider">Asia</li>
      <li><a href="#">India</a></li>
      <li><a href="#">Thailand</a></li>
      <li data-role="list-divider">Africa</li>
      <li><a href="#">Zimbabwe</a></li>
      <li><a href="#">Uganda</a></li>
    </ul>
  </div>

  <div data-role="footer">
    <h1>文本底部</h1>
  </div>
</div> 

</body>
</html>

使用 pagebeforecreate 事件动态添加属性。

事件对象

<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="//apps.bdimg.com/libs/jquerymobile/1.4.5/jquery.mobile-1.4.5.min.css">
<script src="//apps.bdimg.com/libs/jquery/1.10.2/jquery.min.js"></script>
<script src="//apps.bdimg.com/libs/jquerymobile/1.4.5/jquery.mobile-1.4.5.min.js"></script>
<script>
$(document).on("pagebeforecreate",function(event){
  $("span").text(event.type);
}); 
</script>
</head>
<body>

<div data-role="page" id="pageone">
  <div data-role="header">
    <h1>头部文本</h1>
  </div>

  <div data-role="main" class="ui-content">
    <p>页面初始化触发 <span style="color:red">unknown</span> 事件。</p>
  </div>

  <div data-role="footer">
    <h1>底部文本</h1>
  </div>
</div> 

</body>
</html>

使用 event.type 属性返回触发的事件类型。

JSRUN闪电教程系统是国内最先开创的教程维护系统, 所有工程师都可以参与共同维护的闪电教程,让知识的积累变得统一完整、自成体系。 大家可以一起参与进共编,让零散的知识点帮助更多的人。
X
支付宝
9.99
无法付款,请点击这里
金额: 0
备注:
转账时请填写正确的金额和备注信息,到账由人工处理,可能需要较长时间
如有疑问请联系QQ:565830900
正在生成二维码, 此过程可能需要15秒钟