JSRUN 用代码说话

pagebeforeload 事件

编辑教程

pagebeforeload 事件

实例

在载入请求前弹出信息:

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

定义和用法

pagebeforeload 是在任何加载之前触发的事件。

相关事件:

pageload 在页面成功载入并插入到DOM中触发。
pageloadfailed 在页面加载失败后触发。

注意:外部页面加载到DOM时,肯定会触发2类事件。加载之前的pagebeforeload事件,和加载之后pageload(加载成功) 或 pageloadfailed(加载失败)。

语法

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

参数

function(event,data)

必须。指定 pagebeforeload 事件触发时执行的函数。

该函数含有以下两个参数:

事件对象

包括任何jQuery事件属性 ( event.target, event.type 等) 。

数据对象

包含以下类型:

url (string) 通过回调传到$.mobile.loadPage()的绝对或者相对地址
absUrl (string) 包含URL的绝对引用
dataUrl (string) 包含浏览器的URL 位置
deferred (object) 包含 resolve() 或 reject()
options (object) 包含可选项发送到 $.mobile.loadPage()

注意: 针对此事件调用preventDefault()的回调函数必须针对此事件调用 resolve()或者reject()方法,使得changePage()的请求恢复。

更多实例

相关事件演示

<!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("pagecontainerload",function(event,data){
  alert("pagecontainerload 事件触发!
URL: " + data.url);
});
$(document).on("pagecontainerloadfailed",function(event,data){
  alert("抱歉,被请求页面不存在。");
});
</script>
</head>
<body>

<div data-role="page">
  <div data-role="header">
    <h1>页眉文本</h1>
  </div>

  <div data-role="main" class="ui-content">
    <a href="externalpage.html">外部页面</a>
    <br><br>
    <a href="externalnotexist.html">外部页面不存在</a>
  </div>

  <div data-role="footer">
    <h1>页脚文本</h1>
  </div>
</div> 

</body>
</html>

该实例演示了pageload 和 pageloadfailed。

事件对象

<!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("pagebeforeload",function(event){
  alert( event.type + " 事件触发");
});
</script>
</head>
<body>

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

  <div data-role="main" class="ui-content">
    <a href="externalpage.html">外部页面</a>
  </div>

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

</body>
</html>

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

数据对象

<!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("pagebeforeload",function(event,data){
  alert("pagebeforeload 事件触发!
URL 即将载入: " + data.url);
});
</script>
</head>
<body>

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

  <div data-role="main" class="ui-content">
    <a href="externalpage.html">外部页面</a>
  </div>

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

</body>
</html>

使用 data.url 返回外部页面的URL。

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