1

我有 3 个 php 页面、1 个索引页面和 2 个其他子页面,它们在索引页面中有链接(销售和产品)。当我点击销售时,它是 suppode 加载销售数据pageintdocument ready使用下面的调试。

$('[data-role="page"]').live('pageshow', function () { <-- error line
    console.log("pageshow");
});

$(document).on('pageinit', function(){ 
console.log("pageinit");
});
$(document).ready(function(){

    console.log("docready");
})

当我单击索引页面中的链接时,没有任何代码触发,但是当页面加载并刷新时,我收到错误行指示的 javascript 错误

Object [object Object] has no method 'live' 

我在用

jquery.1.9.1.min.js
jquery.mobile.1.3.2.min.js

索引页的 html 是

<div data-role="page" data-ajax="false" id="home">
    <?php include_once("header.php");?>
    <div data-role="content" data-theme="">    
        <ul data-role="listview" data-divider-theme="b" data-inset="true">
            <li data-role="list-divider" role="heading">Menu</li>
            <li data-transition="flip">
                <a href="outgoing.php" data-transition="slide" data-ajax="true">sales </a>
            </li>
            <li data-transition="flip">
               <a href="settings.php" data-transition="slide" data-ajax="true">products</a>
            </li>
            <li>
                <a href="../logout.php">Logout</a>
            </li>
    </ul><div data-role="navbar" data-iconpos="">
        </div>
    </div>
    <div data-role="footer" data-theme="b">
    <?php include_once("../footer.php");?></h4>
  </div>
</div>

我究竟做错了什么?

编辑

我将我的代码更新$('[data-role="page"]').on('pageshow', function () {

4

2 回答 2

2

我通过在加载未触发文档 readey 的页面的链接中设置 data-ajax=false 解决了这个问题,其余的

<a href="page.php" data-ajax="false">link</a>

谢谢

于 2013-09-11T01:02:26.520 回答
1

liveon已弃用,您必须在新版本的 jquery 中使用函数。live在 中已弃用并在 中1.7删除1.9。当你使用1.9.1意味着你必须使用on.

$('[data-role="page"]').on('pageshow', function ()

不推荐使用的版本:1.7,已删除:1.9

于 2013-09-06T12:23:21.467 回答