【问题标题】:"$(document).on('pageshow'" not working with jQuery 1.9.1 + JQM 1.3.0-stable"$(document).on('pageshow'" 不适用于 jQuery 1.9.1 + JQM 1.3.0-stable
【发布时间】:2013-03-17 18:35:14
【问题描述】:

使用 jQuery 1.8.3

<!DOCTYPE html>
<html>
    <head>
        <script src="js/jquery-1.8.3.min.js"></script>
        <script src="js/jquery.mobile-1.3.0.min.js"></script>
        <script>
      $.support.cors = true;
      $.mobile.allowCrossDomainPages = true;

      $("#home").live("pageshow", function( event ) {
        alert( "Ok. This is Home!" );
      });
        </script>
    </head>
    <body>

    <!--- HOME --->
    <div data-role="page" id="home">
    <h2>Hello World</h2>
    </div>
    </body>
</html>

警报工作正常。

但是,使用 jQuery 1.9.1(请注意,我更改了版本并使用“on”“live”。

<!DOCTYPE html>
<html>
    <head>
        <script src="js/jquery-1.9.1.min.js"></script>
        <script src="js/jquery.mobile-1.3.0.min.js"></script>
        <script>
      $.support.cors = true;
      $.mobile.allowCrossDomainPages = true;

      $("#home").on("pageshow", function( event ) {
        alert( "Ok. This is Home!" );
      });
        </script>
    </head>
    <body>

    <!--- HOME --->
    <div data-role="page" id="home">
    <h2>Hello World</h2>
    </div>
    </body>
</html>

警报不起作用。我确定我做错了什么。我一直在阅读 jQuery Mobile 1.3.0-stable 会使用 jQuery 1.9.1,但也许我错了。

【问题讨论】:

    标签: jquery jquery-mobile


    【解决方案1】:

    改变

     $("#home").on("pageshow", function( event ) {
    

      $(document).on("pageshow", "#home", function( event ) {
    

    on 的语法与 live 的语法不同:在进行绑定时,接收和委托事件的元素必须存在。

    【讨论】:

    • 非常感谢,dystroy。我把语法弄得一团糟。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-18
    • 1970-01-01
    • 2014-07-18
    • 2022-01-21
    • 1970-01-01
    • 2013-01-17
    相关资源
    最近更新 更多